java在单击Jbutton后更改JPanel
我的代码中有2个JPanel。第一个是Furutsu7,它是主要的JPanel,包括我的游戏。第二个JPanel是start Jbutton。我试图实现的是,在用户单击Jbutton之后,furutsu7jpanel将出现
这是我创建按钮的设置类
public void setup(){
JFrame f = new JFrame("Start ");
JPanel card1 = new JPanel();
JPanel card2 = new JPanel();
cards = new JPanel(new CardLayout());
JButton Card1Button = new JButton("Start");
card1.add(Card1Button);
JButton Card2Button = new JButton("Exit");
card2.add(Card2Button);
cards.add(card1, "C1");
cards.add(card2, "C2");
f.add(cards, BorderLayout.CENTER);
f.setTitle("Furutsu");
f.setSize(500, 300);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
我需要帮助的是,为了切换到Furutsu JPanel,我应该在执行的操作中加入什么内容
public void actionPerformed(ActionEvent e) {
}
# 1 楼答案
将CardLayout设置为类的一个字段,以便在actionPerformed方法中更轻松地访问它。否则,您需要调用
(CardLayout) cards.getLayout()
,这是一件风险更大的事情。例如:然后你可以直接参考它:
有关CardLayout的更多信息,请查看其tutorial
请注意,如果您只想按向前或向后的顺序交换组件,请查看CardLayout的其他方法,例如
next(cards)
和previous(cards)