在JFrame中用JPanel替换JPanel
|
我有一个扩展JFrame的类,并且它具有BorderLayout。它具有两个类型为JPanel的私有实例变量。它们代表按钮的面板,分别称为flipButton和confidenceButtons。当您单击按钮时,按钮面板被另一个按钮面板代替。也就是说,如果单击flipButton中的按钮,则flipButton将替换为confidenceButtons。我试图这样做:
私有类FlipListener实现ActionListener {
公共无效actionPerformed(ActionEvent e){
remove(flipButton);
添加(confidenceButtons,BorderLayout.SOUTH);
validate();
...
}
}
私有类ColorListener实现ActionListener {
...
公共无效actionPerformed(ActionEvent e){
...
remove(confidenceButtons);
add(flipButton,BorderLayout.SOUTH);
validate();
}
}
flipButton中的按钮具有FlipListeners,confidenceButtons中的按钮具有ColorListeners。程序运行时,单击按钮将删除面板,但是没有添加任何内容来替换它。我究竟做错了什么?
编辑
事实证明CardLayout是一种简单易用的解决方案。事实证明,以上代码确实有效;问题出在我代码的另一部分。 >。<但是,我一直很难使用这些方法,我发现CardLayout为我简化了它。谢谢。
没有找到相关结果
已邀请:
3 个回复
课刊灭似
脾萌
茂坦湿床够
编辑: 下面的代码对我有用: