我对NetBeans IDE和Java都不熟悉。我在JFrame上布置了一个JPanel,并说JPanel上面有按钮。此JPanel在JFrames类中。当单击这些按钮之一时,我想停止显示此JPanel,并在另一个类中显示另一个JPanel。我正在使用GUI设计器,因此面板位于不同的类中。
JFrame类中的按钮单击事件具有以下按钮之一:
private void buttonActionPerformed(ActionEvent e) {
panel1.setVisible(false);
Panel2 panel2 = new Panel2();
this.add(panel2);
panel2.setVisible(true);
这将产生panel1消失的结果,但是由于panel2不显示而留下空白的Jframe。
我已经看过CardLayout,但是我需要面板上的按钮来发出命令,而不是在另一个面板上围绕CardLayout的面板交换按钮。
编辑:已经重写了问题以实际提供上下文,而不仅仅是“帮助请”,因为有人告诉我我所问的内容太广泛了,这是完全正确的。我才刚刚开始学习Java,所以如果仍然要对此道歉,请您道歉。
让我们在这里尝试帮助一下...
首先,在动作侦听器代码中仅做“几乎”什么都不是一个好主意。尤其是在该侦听器中实例化一个新的面板对象是一个坏主意。
一种更合理的方法:在前面创建所有面板对象。像:当您的应用程序启动时,可能会包含所需面板对象的列表。然后,在动作侦听器代码中,只需添加需要显示的代码,然后删除不再需要的代码即可。
另请注意:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句