javaui布局问题

javaui布局问题,java,user-interface,layout,Java,User Interface,Layout,我试图为一个独立的应用程序创建一个清晰的JavaUI布局。我知道JSwing不是最好的UI,但它是我现在拥有的 我的UI当前看起来像: 我希望文本对齐,按钮对齐,所有按钮下的提交和状态,堆叠或平行 我的布局目前如下所示: GroupLayout layout = new GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setAutoCreateGaps(true)

我试图为一个独立的应用程序创建一个清晰的JavaUI布局。我知道JSwing不是最好的UI,但它是我现在拥有的

我的UI当前看起来像:

我希望文本对齐,按钮对齐,所有按钮下的提交和状态,堆叠或平行

我的布局目前如下所示:

        GroupLayout layout = new GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setAutoCreateGaps(true);
    layout.setAutoCreateContainerGaps(true);

    layout.setHorizontalGroup(layout.createSequentialGroup()
        .addComponent(lbl_inputFile)
        .addComponent(txt_inputFile)
        .addComponent(btn_inputFile)
        .addGroup(layout.createSequentialGroup()
                .addComponent(lbl_searchTermFile)
                .addComponent(txt_searchTermFile)
                .addComponent(btn_searchTermFile))
        .addGroup(layout.createSequentialGroup()
                .addComponent(lbl_outputFile)
                .addComponent(txt_outputFile)
                .addComponent(btn_outputFile))
        .addGroup(layout.createSequentialGroup()
        .addComponent(btn_sumbit)
        .addComponent(lbl_status))
    );

    layout.linkSize(SwingConstants.HORIZONTAL, btn_inputFile, btn_outputFile, btn_searchTermFile);

    layout.setVerticalGroup(layout.createSequentialGroup()
            .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(lbl_inputFile)
                    .addComponent(txt_inputFile)
                    .addComponent(btn_inputFile))
            .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                    .addComponent(lbl_searchTermFile)
                    .addComponent(txt_searchTermFile)
                    .addComponent(btn_searchTermFile))
            .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                    .addComponent(lbl_outputFile)
                    .addComponent(txt_outputFile)
                    .addComponent(btn_outputFile))
            .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                    .addComponent(btn_sumbit)
                    .addComponent(lbl_status))
    );

有什么想法可以满足我的要求吗?

您可以从 您可以从这个站点下载jar文件miglayout-4.0-swing.jar for swing,并将其放在您的项目类路径中。 为了让您了解布局管理器的工作原理,下面是快速入门的源代码

JPanel panel = new JPanel(new MigLayout());
panel.add(firstNameLabel);
panel.add(firstNameTextField);
panel.add(lastNameLabel,"gap unrelated");
panel.add(lastNameTextField,"wrap");
panel.add(addressLabel);
panel.add(addressTextField,"span, grow");
上面的代码生成以下面板 如果您使用的是eclipse,那么您可以使用Google()提供的WindowBuilder插件。它是一个GUI表单设计器,还支持Swing,特别是它包含对MigLayout manager的内置支持。 下面是在eclipse中打开WindowBuilder的屏幕截图

您可以从中使用MigLayout布局管理器 您可以从这个站点下载jar文件miglayout-4.0-swing.jar for swing,并将其放在您的项目类路径中。 为了让您了解布局管理器的工作原理,下面是快速入门的源代码

JPanel panel = new JPanel(new MigLayout());
panel.add(firstNameLabel);
panel.add(firstNameTextField);
panel.add(lastNameLabel,"gap unrelated");
panel.add(lastNameTextField,"wrap");
panel.add(addressLabel);
panel.add(addressTextField,"span, grow");
上面的代码生成以下面板 如果您使用的是eclipse,那么您可以使用Google()提供的WindowBuilder插件。它是一个GUI表单设计器,还支持Swing,特别是它包含对MigLayout manager的内置支持。 下面是在eclipse中打开WindowBuilder的屏幕截图

看一看“谢谢你,WindowBuilder非常棒!”!谢谢,WindowBuilder非常棒!