WindowBuilder定位错误

问题描述 投票:0回答:1

最近,我决定使用WindowBuilder来创建一个界面。感谢预览功能,我可以看到我的应用程序的外观。但是当我编译我的程序时,这就是它的样子:

在顶部,所需的结果,在底部,结果获得enter image description here

我不明白我的问题是什么。为什么每个组件都会这样反应。最初,我已经使用FormLayout来解决同样的问题,但我没有这样的印象,即这将解决它。这是我的代码:

package IHM;

import java.awt.EventQueue;

import javax.swing.JFrame;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.RowSpec;
import com.jgoodies.forms.layout.FormSpecs;
import javax.swing.JTextField;
import javax.swing.JButton;
public class Test {

    private JFrame frame;
    private JTextField textField;
    private JTextField textField_1;
    private JTextField textField_2;
    private JButton btnSelection;
    private JTextField textField_3;
    private JButton btnCommencer;
    private JTextField textField_4;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Test window = new Test();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public Test() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setResizable(false);
        frame.setBounds(100, 100, 600, 350);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(new FormLayout(new ColumnSpec[] {
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),
                ColumnSpec.decode("default:grow"),},
            new RowSpec[] {
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,
                FormSpecs.DEFAULT_ROWSPEC,}));

        textField = new JTextField();
        frame.getContentPane().add(textField, "3, 6, 3, 1, fill, default");
        textField.setColumns(10);

        textField_1 = new JTextField();
        frame.getContentPane().add(textField_1, "8, 6, 3, 1, fill, default");
        textField_1.setColumns(10);

        textField_2 = new JTextField();
        frame.getContentPane().add(textField_2, "13, 6, 3, 1, fill, default");
        textField_2.setColumns(10);

        JButton btnNewButton = new JButton("Selection");
        frame.getContentPane().add(btnNewButton, "4, 7");

        JButton btnNewButton_2 = new JButton("Selection");
        frame.getContentPane().add(btnNewButton_2, "9, 7");

        JButton btnNewButton_1 = new JButton("Selection");
        frame.getContentPane().add(btnNewButton_1, "14, 7");

        textField_3 = new JTextField();
        frame.getContentPane().add(textField_3, "3, 11, 9, 1, fill, default");
        textField_3.setColumns(10);

        btnSelection = new JButton("Selection");
        frame.getContentPane().add(btnSelection, "14, 11");

        btnCommencer = new JButton("Commencer");
        frame.getContentPane().add(btnCommencer, "9, 13");

        textField_4 = new JTextField();
        frame.getContentPane().add(textField_4, "6, 14, 7, 1, fill, default");
        textField_4.setColumns(10);

    }

}

有谁可以帮助我吗?

java interface windowbuilder
1个回答
0
投票

你必须摆弄摇摆主题[1]。 WB预览使用的不同于运行程序时使用的预览。在运行时可能没有主题集。

[1] Java eclipse WindowBuilder, change look and feel

© www.soinside.com 2019 - 2024. All rights reserved.