这是我正在处理的代码:http: //pastie.org/1501054当你运行它时,由于某种原因,两个面板重叠。为什么会这样?有什么办法可以解决吗?
作为参数提供的 ActionListener 与程序的这一部分无关。
另外,我在哪里可以找到使用 Eclipse 的好的挥杆教程?
这是我正在处理的代码:http: //pastie.org/1501054当你运行它时,由于某种原因,两个面板重叠。为什么会这样?有什么办法可以解决吗?
作为参数提供的 ActionListener 与程序的这一部分无关。
另外,我在哪里可以找到使用 Eclipse 的好的挥杆教程?
当你说你想要一个好的 Eclipse Swing 教程时,你想要一个 GUI builder 还是 Swing 教程?Swing 是关于布局的。一旦你把它记下来,它就是小菜一碟。只需从流布局开始。如果您想要 GUI 构建器,请使用 Netbeans。太不可思议了!
至于重叠,不是重叠,而是覆盖。您只能BorderLayout.CENTER
在默认位置拥有一个面板。如果你想让它们并排,做getContentPane().setLayout(new FlowLayout());
或只是add(panel, BorderLayout.SOUTH)
虽然我不确定您希望最终结果是什么样子,但这里有一些我的建议。
在将警告面板添加到 JFrame 的代码段中
warningPanel.add(warningLabel);
contentPane.add(warningPanel);
pack();
contentPane 是 JFrame.getContentPane() 返回的容器
JFrames 默认使用BorderLayout,所以,
contentPane.add(<someComponent>)
等同于
contentPane.add(<someComponent>, BorderLayout.CENTER)
您还可以以相同的方式添加 mainPanel,并且不能有两个具有相同约束的组件,因此将 warningPanel 设置为BorderLayout.NORTH
contentPane.add(warningPanel, BorderLayout.NORTH)
并且还要删除该代码片段中对 pack() 的调用,因为您稍后会在代码中调用它。
希望这可以帮助。
附言
至于 Eclipse 中的 GUI 构建,这个关于Eclipse GUI Builder 插件的问题可能有用。我不能谈论在 Eclipse 中使用 Swing 的教程,但是使用 Eclipse 可视化编辑器项目快速谷歌搜索挖掘本教程
运行您的代码时,我没有看到重叠的窗格。我想知道您是否可以发布您看到的效果的屏幕截图。
至于 Eclipse 中的教程。我建议在 Eclipse 中使用Windows Builder pro来构建 Java GUI。这是一个优秀的产品(免费)和非常好的网站文档。
是的,我看到警告标签与第一行重叠
那是因为您没有指定内容窗格的布局。这是你如何解决它
contentPane.setLayout(new GridLayout(2,1));
在下面添加这一行
Container contentPane = getContentPane();
而且我认为您应该将警告面板更改为 gridlayout 1 and 1 而不是 0 and 1 因为您仍然有 1 行和 1 列