1

テーブルのようなスタイルでいくつかのラベルとテキストフィールドを設定しようとしています。

現在、GridLayoutを使用していますが、これは希望どおりに機能します。ただし、TextFieldsButtonはセルのフルサイズに拡張されています。

TextFieldsButtonを「通常の」サイズにするにはどうすればよいですか。また、これを最も簡単な方法で実現できるレイアウトマネージャーはどれですか。

現在のコードとスクリーンショットは次のとおりです。

    JPanel forms = new JPanel();
    forms.setLayout(new GridLayout(3, 2));

    JLabel lbl_navn = new JLabel("Virksomhedsnavn:");
    JTextField txt_navn = new JTextField();

    JLabel lbl_adresse = new JLabel("Adresse:");
    JTextField txt_adresse = new JTextField();

    forms.add(lbl_navn);
    forms.add(txt_navn);
    forms.add(lbl_adresse);
    forms.add(txt_adresse);
    forms.add(Box.createRigidArea(new Dimension(10, 10)));
    forms.add(new JButton("Opret virksomhed"));

ここに画像の説明を入力してください

4

3 に答える 3

1

gridBagLayoutを使用することをお勧めします:http: //docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html

例として:JPanel forms = new JPanel(); forms.setLayout(new GridBagLayout());

    JLabel lbl_navn = new JLabel("Virksomhedsnavn:");
    JTextField txt_navn = new JTextField();

    JLabel lbl_adresse = new JLabel("Adresse:");
    JTextField txt_adresse = new JTextField();
    //Setting grid bag constraints
    GridBagConstraints c = new GridBagConstraints();
    // Grid position coordinates
    c.gridx = 0; c.gridy = 0;
    //Align panel in top-left corner
    c.anchor=GridBagConstraints.LINE_START;
    forms.add(lbl_navn, c);
    c.gridx = 1; c.ipadx = 195;
    forms.add(txt_navn, c);
    c.gridy = 1; c.gridx = 0; c.ipadx = 0;
    forms.add(lbl_adresse, c);
    c.gridx = 1; c.ipadx = 195;
    forms.add(txt_adresse,c);
    c.gridy = 2; c.gridx     = 0; c.ipadx = 0;
    forms.add(Box.createRigidArea(new Dimension(10, 10)),c);


    c.anchor=GridBagConstraints.CENTER;
    c.gridy = 2; c.gridx = 1;
    forms.add(new JButton("Opret virksomhed"),c);

お役に立てれば。

于 2013-02-14T11:36:24.350 に答える
0

有用な回答が得られた場合は、この質問を参照できると思います: JTextField Fixed Height

于 2013-02-14T07:51:33.370 に答える
0

しばらく前にMigレイアウトの良いところを読んだことがありますが、使用したことはありませんが、非常に強力なようです。このミグレイアウトを確認してください。問題の解決策になる可能性があります。

更新:Migレイアウトは、sun/oracleの「標準」レイアウトではありません。

前述のGridBagLayoutは、(経験から)目的を達成できます。個人的には、「ヌルレイアウト」での作業に使用する固定サイズのコンポーネントが必要な場合に使用します。

于 2013-02-14T18:24:59.260 に答える