Java J面板布局

标签 java swing

我是 Java Swing 的新手,想做我的布局,但是做不到

现在看:

http://i.stack.imgur.com/raLS6.png

看我想要:

http://i.stack.imgur.com/ikGgx.png

现在编码:

JPanel MainPanel = new JPanel(new GridBagLayout());

    JLabel MoneyLabel = new JLabel(MoneyIcon);      
    MoneyLabel.setHorizontalTextPosition(JLabel.CENTER);
    MoneyLabel.setVerticalTextPosition(JLabel.BOTTOM);
    MoneyLabel.setText("Money:" + CarMain.Money);

    JLabel MoneyClicksLabel = new JLabel();
    MoneyClicksLabel.setHorizontalTextPosition(JLabel.CENTER);
    MoneyClicksLabel.setVerticalTextPosition(JLabel.BOTTOM);
    MoneyClicksLabel.setText("Money Clicks: " + CarMain.MoneyClicks);

    JLabel BoxesLabel = new JLabel(BoxLv9_10Icon);      
    BoxesLabel.setHorizontalTextPosition(JLabel.CENTER);
    BoxesLabel.setVerticalTextPosition(JLabel.BOTTOM);
    BoxesLabel.setText("Boxes: " + CarMain.Boxes);

    JLabel BoxesClicksLabel = new JLabel();
    BoxesClicksLabel.setHorizontalTextPosition(JLabel.CENTER);
    BoxesClicksLabel.setVerticalTextPosition(JLabel.BOTTOM);
    BoxesClicksLabel.setText("Boxes Clicks: " + CarMain.BoxesClicks);

    MainPanel.add(MoneyLabel);
    MainPanel.add(MoneyClicksLabel);
    MainPanel.add(jbtnMoney);
    MainPanel.add(BoxesLabel);
    MainPanel.add(BoxesClicksLabel);
    MainPanel.add(jbtnBoxes);

这是我想要的简单示例,因为我正在构建 ingame 商店,在每个选项卡 Pane 窗口中有 13 个这样的标签。我怎样才能让它看起来像第二张图片中我想要的那样?

最佳答案

Im new in Java Swing, and want to make my layout, but can't do this

可能没有一种布局可以满足所有人的需求。但是结合几种布局通常可以处理大多数情况。

根据您在问题中显示的图片。无需编写自己的布局。您始终可以使用子面板来容纳您的组件,并为每个子面板设置特定的布局来处理您对这些单独区域的需求。

  • 在您的第一张附加图片中对齐的原因是:

JPanel 使用 FlowLayout 作为其默认布局。因此,所有添加的组件将以线性方式出现,并尝试尽可能多地填充面板宽度可以容纳的行。一旦超过面板的宽度,组件将被推到下一行。


  • 如果您想在第二张附加图片中实现对齐:

您可以创建一个包含多个子面板的主面板(见下图)。 红色框是您的主面板,您可以继续使用默认的 FlowLayout。

然后将您的组件添加到子面板(橙色框)中,然后再将其添加到主面板中。然后,您可以使用 BoxLayoutFlowLayout 甚至 GridBagLayout 用于子面板(橙色框)。

enter image description here

关于Java J面板布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35754993/

相关文章:

java - 如何围绕图像渲染事件设置计时器

java - 从按钮/鼠标释放调用 Java AbstractAction

java - WebSphere 6.1 的远程 EJB 查找问题

Java 自定义类 w/Defaultlistmodel 添加的元素未保存

java - 两个停靠的组件,其中第二个组件填充剩余空间

java - netbeans 中的错误 UnsupportedClassVersionError

java - 我的程序无论如何都会增加一个值

java - 单击 JButton 时如何更改 JLabel?

java - "Cannot refer to a non-final variable buttonflag inside an inner class defined in a different method"

java - JTable中多行单元格的背景