我正在使用eclipse
我对java有点新..我制作了一个Button,一个TextField和一个标签并将它们放入JPanel中 - 然后将JPanel放在JFrame上..
要正确定位它们真的很难,因为我必须改变它们所有三个的x,y,宽度和高度,如果不是它应该在哪里,我必须改变x,y并编译和运行并重新做一遍,直到它处于正确的位置。
是否有更简单的方法来定位这些东西或软件来为我生成坐标?
抱歉我的英文
答案 0 :(得分:2)
使用布局管理器。
例如:
BorderLayout的
使用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。