有没有更简单的方法在Eclipse中定位JFrame组件?

时间:2016-04-15 15:34:12

标签: java eclipse swing layout layout-manager

我正在使用eclipse
我对java有点新..我制作了一个Button,一个TextField和一个标签并将它们放入JPanel中 - 然后将JPanel放在JFrame上..

要正确定位它们真的很难,因为我必须改变它们所有三个的x,y,宽度和高度,如果不是它应该在哪里,我必须改变x,y并编译和运行并重新做一遍,直到它处于正确的位置。
是否有更简单的方法来定位这些东西或软件来为我生成坐标?

抱歉我的英文

2 个答案:

答案 0 :(得分:2)

使用布局管理器。

例如:

  

BorderLayout的

     

enter image description here

     

使用BorderLayout的GUI图片每个内容窗格都是   初始化为使用BorderLayout。 (使用顶级容器   解释说,内容窗格是所有框架中的主要容器,   小程序和对话框。)BorderLayout最多可放置五个组件   区域:顶部,底部,左侧,右侧和中心。所有额外的空间都放置   在中心区域。使用JToolBar创建的工具栏必须是   如果您希望能够在BorderLayout容器中创建   将杆拖离其起始位置。为了更进一步的   有关详细信息,请参阅如何使用BorderLayout。

...//Container pane = aFrame.getContentPane()...
JButton button = new JButton("Button 1 (PAGE_START)");
pane.add(button, BorderLayout.PAGE_START);

//Make the center component big, since that's the
//typical usage of BorderLayout.
button = new JButton("Button 2 (CENTER)");
button.setPreferredSize(new Dimension(200, 100));
pane.add(button, BorderLayout.CENTER);

button = new JButton("Button 3 (LINE_START)");
pane.add(button, BorderLayout.LINE_START);

button = new JButton("Long-Named Button 4 (PAGE_END)");
pane.add(button, BorderLayout.PAGE_END);

button = new JButton("5 (LINE_END)");
pane.add(button, BorderLayout.LINE_END);

查看完整的文档:https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

答案 1 :(得分:0)

Eclipse有一个名为WindowBuilder的GUI设计工具。根据您拥有的Eclipse包,可能已经安装了它。如果没有,您可以轻松地将其添加到Eclipse安装中。

正如一些评论所提到的,您应该首先了解有关AWT和Swing以及它们如何处理组件布局的更多信息。它的要点是使用组件的绝对定位,而不是use LayoutManagers