我是eclipse和Java的新手,我试图使用一个按钮在两个面板之间切换。我想测试我的项目,但是当我尝试运行它时,它启动,没有错误,然后什么也没发生。
我错过了进行此跑步之前需要做的事情吗?
这是我拥有的版本,我今天早些时候下载了它。
面向Java开发人员的eclipse IDE
版本:2019-09 R(4.13.0) 版本号:20190917-1200
下面是我的代码,如果有什么阻止它在其中工作的话。
sort()
首先使用其他布局管理器,FlowLayout
或GridBagLayout
可能会更好
JPanel centerPanel = new JPanel(new FlowLayout());
centerPanel.add(openReportSelection);
centerPanel.add(closeButton);
这些布局将采用您喜欢的按钮尺寸
关于打开另一个窗口,好了,您已经创建了一个窗口,因此过程几乎相同。话虽如此,您不妨专心研究The Use of Multiple JFrames: Good or Bad Practice?。
更好的方法可能是使用JMenuBar
和JMenuItems
充当“打开”和“退出”动作。看一下How to Use Menus,然后可以使用CardLayout
在视图之间进行切换,例如
从纯粹的设计角度(我知道这只是实践,但是完美的实践才是完美的),我不会从JFrame
扩展任何内容,而是依靠围绕{{1} }。
这为您提供了决定如何使用这些组件的灵活性,因为您可以将它们添加到框架,小程序或其他组件...
AND
尽管您已经根据JPanel
接口实现了actionPerformed
方法,但是由于您尚未实现该接口,因此您的类不是该类型的。实施该接口并向ActionListener
JButton
注册该接口后,
btnAdd
该方法将被调用。
更紧凑的替代方法可能是使用匿名接口:
btnAdd.addActionListener(this);
旁注:
在一个应用程序中使用多个JFrame会产生大量开销 用于管理帧之间可能需要存在的更新。的 首选的方法是如果另一个窗口是 需要。更多讨论Here