java - 不同组件的布局问题?

标签 java swing jframe layout-manager

我正在编写一个 gui 程序,其中使用流布局来设置组件。我知道这个布局从默认中心开始,然后像这样从左到右

enter image description here

我也知道所有其他布局的结构,但我想制作这样的图形用户界面

enter image description here

中心的所有组件。但该图片中的布局使用为空。我只想知道我们如何在这些类型的布局(如边框、流等)中做到这一点。
代码:

     public class Main {

    public static void main(String[] args) {

        JFrame obj = new JFrame();
        obj.setTitle("My Frame");
        obj.setSize(800, 600);
        obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        obj.setLocationRelativeTo(null);

        JLabel l1 = new JLabel("Enter Name");
        l1.setFont(new Font("Tahoma", Font.PLAIN, 21));

        JTextField t1 = new JTextField(20);
        t1.setFont(new Font("Tahoma", Font.PLAIN, 16));

        JButton b1 = new JButton("Submit");

        obj.setLayout(new FlowLayout());
        obj.add(l1);
        obj.add(t1);
        obj.add(b1);

        obj.setVisible(true);

    }

}

最佳答案

您可以使用 BoxLayout。像这样的东西:

box.add(label);
box.add(textField);
box.add(button);
box.add(Box.createVerticalGlue());

您可能需要使用 setAlignmentX(...) 属性来允许组件水平居中。

阅读 How to Use BoxLayout 上的 Swing 教程部分有关更多信息和示例。

或者您可以使用 GridBagLayout。本教程还有一个关于如何使用 GridBagLayout 的部分。

关于java - 不同组件的布局问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32057056/

相关文章:

java - 何时使用扩展 RuntimeException 的用户定义类?

java - 如何判断菜单项是否被点击

java - 创建 JButton 的行和列

java - 指定情况下如何处理变量的初始化

java - JFrame 的奇怪行为,屏幕有时全白

java - 为什么删除 jframe java 中的按钮错误

java - 使用 WSDL 从 url 和身份验证实例化 JAX-WS 服务

java - 如何根据应用程序运行的系统加载不同的 native 库(dll、so)

java 。在 JPanel 上调整大小问题

java - 添加两个数字而不删除第一个数字