我无法弄清楚 CardLayout 的 JavaDocs。我有一个 Applet,从这个 Applet 中我创建了 5 个扩展 JPanel 的类。在这些类中,到目前为止所做的只是设计(一些 GUI 组件)。现在我想通过 Applet 将所有这些类链接在一起,以便一次查看一个面板(CardLayout)。因此,我将能够从我的 Applet 中使用 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
有人请指出我的错误!我还为代码中的问题提供了一些注释。一如既往,谢谢!