0

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);
        }      
}
4

3 に答える 3

3

このチュートリアルを読むだけで簡単です: GridBagLayout

于 2013-06-16T06:43:41.310 に答える
3

テーブルを使用した 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);

ただし、このような単純なレイアウトの場合は、別のレイアウト マネージャーを使用できます

于 2013-06-16T07:59:02.860 に答える
0

GridBagLayout の使用をやめてください。GridBagLayout は、前の時代のレイアウト マネージャーです。私はそれがすべての「公式」Oracle Javaドキュメントにあることに気付くでしょうが、ほとんどの人は今日ではそれを避けています(そして正当な理由で)。GridBag が取り組むことを意図した複雑なレイアウトの優れた代替手段は、Jgoodies FormLayout ( http://www.jgoodies.com/freeware/libraries/forms/ ) です。私はあなたが正気を維持し、あなたの人生の質がかなり向上することを保証します:-)

于 2013-06-16T18:48:51.373 に答える