CardLayout の JavaDocs がわかりません。私はアプレットを持っています。このアプレットから、JPanel を拡張する 5 つのクラスを作成しました。これらのクラス内でこれまでに行われたのは、設計 (いくつかの GUI コンポーネント) だけです。ここで、一度に 1 つのパネル (CardLayout) が表示されるように、アプレットを介してこれらすべてのクラスをリンクしたいと考えています。したがって、アプレットから、CardLayout の next メソッドを使用して次のパネルを表示する機能が得られます。これが私のコードです:
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 が発生します
誰か私の間違いを指摘してください!また、コード内の質問に対するコメントをいくつか提供しました。いつものように、ありがとう!