微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java GridBagLayout 默认在编译时左上角

如何解决Java GridBagLayout 默认在编译时左上角

我在 Eclipse 中使用 WindowBuilder 来设计 GUI。带有用户名和密码的面板有一个 gridbaglayout。这是我在 WindowBuilder 的设计部​​分设置组件的方式:

See image of GUI in the window builder

但这就是我实际运行和编译代码时的显示方式:

See image when compiled here

生成代码

JPanel panelTop = new JPanel();
        panelTop.setBounds(10,11,414,170);
        contentPane.add(panelTop);
        GridBagLayout gbl_panelTop = new GridBagLayout();
        gbl_panelTop.columnWidths = new int[]{0,25,0};
        gbl_panelTop.rowHeights = new int[]{0,0};
        gbl_panelTop.columnWeights = new double[]{0.0,0.0,1.0,Double.MIN_VALUE};
        gbl_panelTop.rowWeights = new double[]{0.0,Double.MIN_VALUE};
        panelTop.setLayout(gbl_panelTop);
        
        JLabel lblUsername = new JLabel("Username:");
        GridBagConstraints gbc_lblUsername = new GridBagConstraints();
        gbc_lblUsername.insets = new Insets(0,5,5);
        gbc_lblUsername.gridx = 2;
        gbc_lblUsername.gridy = 2;
        panelTop.add(lblUsername,gbc_lblUsername);
        
        txtUsername = new JTextField();
        GridBagConstraints gbc_txtUsername = new GridBagConstraints();
        gbc_txtUsername.insets = new Insets(0,5);
        gbc_txtUsername.fill = GridBagConstraints.HORIZONTAL;
        gbc_txtUsername.gridx = 4;
        gbc_txtUsername.gridy = 2;
        panelTop.add(txtUsername,gbc_txtUsername);
        txtUsername.setColumns(10);
        
        JLabel lblPassword = new JLabel("Password:");
        GridBagConstraints gbc_lblPassword = new GridBagConstraints();
        gbc_lblPassword.insets = new Insets(0,5);
        gbc_lblPassword.gridx = 2;
        gbc_lblPassword.gridy = 4;
        panelTop.add(lblPassword,gbc_lblPassword);
        
        pwdPassword = new jpasswordfield();
        GridBagConstraints gbc_pwdPassword = new GridBagConstraints();
        gbc_pwdPassword.insets = new Insets(0,5);
        gbc_pwdPassword.fill = GridBagConstraints.HORIZONTAL;
        gbc_pwdPassword.gridx = 4;
        gbc_pwdPassword.gridy = 4;
        panelTop.add(pwdPassword,gbc_pwdPassword);

谁能告诉我如何解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。