繁体   English   中英

swt或swing的bo​​rderlayout

[英]borderlayout in swt or swing

我想按图中所示排列组件。 我可以使用gridbaglayout来做到这一点,但我想使用borderlayout来做到这一点。 我尝试了一下,但没有达到我想要的。 所以请在这里指导我 这里的黑色矩形是JPanel,Button等组件。

在此处输入图片说明

如果只想使用BorderLayout,则需要使用2 BorderLayout。 如果您不能使用2个布局,则将陷入GridBagLayout。 这是我所讲内容的演示:

import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class Test {

    protected void initUI() {
        JFrame frame = new JFrame("test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = new JPanel(new BorderLayout());
        JPanel panel2 = new JPanel(new BorderLayout());
        panel2.add(new JButton("NORTH"), BorderLayout.NORTH);
        panel2.add(new JButton("CENTER"));
        panel.add(panel2);
        panel.add(new JButton("SOUTH"), BorderLayout.SOUTH);
        panel.add(new JButton("EAST"), BorderLayout.EAST);
        frame.add(panel);
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                new Test().initUI();
            }
        });
    }
}

例

边框布局不能那样工作。 这是边框布局示意图:

在此处输入图片说明

您将无法将EAST布局放置在右上角-NORTH始终会漂浮在右侧。

编辑:显示自从我使用Swing或AWT以来已经有多长时间了-当我这样做时,它是EAST,NORTH,WEST,SOUTH和CENTER。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM