私は問題は何ですか?私はJButtonを使ってcardLayoutでJPanelを拡張し、正しいコードを使用しているのか分かりません... ここに私のコーディングがあります。ここで他のクラスでcardLayoutを実行するためにButton ActionListenerを実装する方法は?
CardLayoutMenu
public class CardLayoutMenu extends JFrame implements ActionListener{
CardLayout cardLayout = new CardLayout();
private JPanel p1 = new JPanel(cardLayout);
final String MAIN = "MAIN";
final String OPTION = "OPTION";
MainPanel mainPanel = new MainPanel();
OptionPanel optionPanel = new OptionPanel();
private Object object;
public CardLayoutMenu(Object object) {
this.object = object;
}
public CardLayoutMenu(){
setLayout(new BorderLayout());
setTitle("Card Layout Menu");
setSize(300,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
setLocationRelativeTo(null);
add(p1);
p1.add(mainPanel, MAIN);
p1.add(optionPanel, OPTION);
}
public void actionPerformed(ActionEvent e){
try{
cardLayout.show(p1, OPTION);
}catch(Exception ex){
System.out.println("" + ex);
}
}
}
はその後、私のOptionPanel、このコードはここにMainPanel
public class OptionPanel extends JPanel{
private JButton jbtBack = new JButton("Back");
public OptionPanel() {
setLayout(new FlowLayout());
add(jbtBack);
}
}
だから、具体的に何が問題なのですか? – mre
どのように使用しようとしているのか分かりませんが、インスタンス化すると、CardLayoutMenuはMainPanelインスタンスを作成します。 MainPanelは、インスタンス化されると、CardLayoutMenuを作成します。これは、スタックのオーバーフローで終わることができます... – Sebastien
そこに無限回帰の素敵な例! –