【问题标题】:Need help using GridBagLayout在使用 GridBagLayout 时需要帮助
【发布时间】:2013-06-17 02:48:51
【问题描述】:

我想在 ID 下方制作密码标签和文本字段..但我对 GriBagLayout 有点陌生。

希望你能帮助我。

这是我的代码:

   class LoginPanel extends JPanel {//login components
        private JButton exitbtn = new JButton("Exit");
        private JLabel idLabel = new JLabel("Staff ID : ");
        private JTextField idJtf = new JTextField(10);
        private JLabel pwLabel = new JLabel("Password : ");
        private JPasswordField pwJtf = new JPasswordField(10);
        LoginPanel() {
           setOpaque(false);
           setLayout(new GridBagLayout());
           setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
           //add(new JLabel("Staff ID: ")); add(new JTextField(10));
           //add(new JLabel("Password: ")); add(new JPasswordField(10));
           add(idLabel);
           add(idJtf);
           add(pwLabel);
           add(pwJtf);
           //add(exitbtn);
        }      
}

【问题讨论】:

    标签: java swing layout-manager gridbaglayout


    【解决方案1】:

    就像阅读this tutorial: GridBagLayout一样简单

    【讨论】:

      【解决方案2】:

      如果您熟悉使用表格创建 HTML 页面,GridBagLayout 对您来说应该很容易

      将控件一个一个地放置在另一个之下就像将它们放置到具有单列的表中一样。这意味着您需要将 0 设置为列号,并将 [0..3] 设置为行号:

      GridBagConstraints c = new GridBagConstraints();
      int rowNum = 0
      c.gridx = 0;
      c.gridy = rowNum;
      add(idLabel, c);
      
      c.gridy++;
      add(idJtf, c);
      
      c.gridy++;
      add(pwLabel, c);
      
      c.gridy++;
      add(pwJtf, c);
      

      但是对于这样简单的布局,您可以使用其他布局管理器

      【讨论】:

        【解决方案3】:

        帮自己一个忙,停止使用 GridBagLayout。 GridBagLayout 是上一个时代的布局管理器。我会意识到它在所有“官方”Oracle Java 文档中,但大多数人现在都避免使用它(并且有充分的理由)。 Jgoodies FormLayout (http://www.jgoodies.com/freeware/libraries/forms/) 是 GridBag 要处理的复杂布局的一个很好的替代方案。我向你保证,你会保持理智,你的生活质量会显着提高:-)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-10-21
          • 2017-01-09
          • 1970-01-01
          • 1970-01-01
          • 2011-05-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多