Я не могу понять JavaDocs для CardLayout. У меня есть апплет, и из этого апплета у меня есть 5 классов, которые я создал, которые расширяют JPanel. Внутри этих классов все, что было сделано до сих пор, - это дизайн (некоторые компоненты GUI). Теперь я хочу связать все эти классы вместе через Апплет, чтобы одна панель просматривалась за раз (CardLayout). Таким образом, у меня будет возможность из моего Апплета использовать следующий метод CardLayout для просмотра следующей панели. Вот мой код:
setLayout(new CardLayout());
add(mainView); //mainView, managerView, searchView, storesView and hoursView
add(managerView); // are initialized
add(searchView);
add(storesView);
add(hoursView);
Вот мой код обработки событий:
public void actionPerformed(ActionEvent e)
{
CardLayout cl; //CardLayout object to manipulate the next page
cl = (CardLayout)(this.getLayout());
if(e.getSource() == mainView.getManagerButton())
{
cl.next(this);
}
if(e.getSource() == mainView.getSearchButton())
{
cl.next(this); //if the user hits the searchButton I want to link to panel
cl.next(this); // searchView. Is that correct?
}
}
С этим кодом я получаю исключение IllegalArgumentException
Кто-то, пожалуйста, укажите на мою ошибку! Также я предоставил некоторые комментарии к вопросам в коде.
Как всегда, спасибо!