这是我正在处理的代码:http://pastie.org/1501054当你运行它时,由于某种原因,两个面板重叠。为什么会这样?我能以任何方式解决它吗?
作为参数提供的ActionListener与程序的这一部分无关。
另外,我在哪里可以找到一个使用Eclipse的好的swing教程?
答案 0 :(得分:0)
当你说你想要一个关于eclipse的好的摇摆教程时,你想要一个GUI构建器或Swing教程吗? Swing就是布局。一旦你做到这一点,这是一块蛋糕。刚开始使用流程布局。 如果需要GUI构建器,请使用Netbeans。真是不可思议!
对于重叠,它不是重叠,而是重写。您只能在BorderLayout.CENTER
(默认位置)中拥有一个面板。
如果你想并排,请getContentPane().setLayout(new FlowLayout());
或者只是add(panel, BorderLayout.SOUTH)
答案 1 :(得分:0)
虽然我不确定你想要的最终结果是什么,但这里有一些我的建议。
在将警告面板添加到JFrame
的代码段中warningPanel.add(warningLabel);
contentPane.add(warningPanel);
pack();
contentPane是JFrame.getContentPane()
返回的容器默认情况下,JFrame使用BorderLayout,所以,
contentPane.add(<someComponent>)
与
相同 contentPane.add(<someComponent>, BorderLayout.CENTER)
您也以相同的方式添加mainPanel,并且您不能拥有两个具有相同约束的组件,因此请将warningPanel设置为BorderLayout.NORTH
contentPane.add(warningPanel, BorderLayout.NORTH)
并删除该代码段中对pack()的调用,因为您稍后会在代码中调用它。
希望这有帮助。
PS
至于Eclipse中的GUI构建,Eclipse GUI Builder plugins上的前一个问题可能有用。我不能说有关在Eclipse中使用Swing的教程,但快速谷歌搜索会挖掘this tutorial using the Eclipse Visual Editor project
答案 2 :(得分:0)
运行代码时,我没有看到重叠的窗格。我想知道你是否可以发布你看到的效果的截图。
关于Eclipse中的教程。我建议在Eclipse中使用Windows Builder pro来构建Java GUI。这是一个优秀的产品(免费)和非常好的网站文档。
答案 3 :(得分:0)
是的我看到警告标签重叠了第一行
那是因为你没有指定contentpane的布局。 以下是你如何解决它
contentPane.setLayout(new GridLayout(2,1));
在
下添加此行Container contentPane = getContentPane();
我认为您应该将警告面板更改为gridlayout 1和1而不是0和1,因为您仍然有1行和1列