しかし、私はラベルのカップルが投入されることになっているファイルを選択したとき。これは、私はそれらの小さな「...」ボタンを使用して、ファイルの選択を行った後のように見えるものです:あなたが見ることができるように
は、全体のレイアウトを台無しにされます。私はActionListenerの中でやっているすべてはこれです:だから
fileTxt = fileChooser.getSelectedFile();
fileTxtField.setText(fileTxt.getAbsolutePath());
labels = getLabels();
lbl1.setText(labels[0].toUpperCase());
Dimension size = lbl1.getPreferredSize();
lbl1.setMinimumSize(size);
lbl1.setPreferredSize(size);
lbl2.setText(labels[1]);
lbl2.setToolTipText(longLbl);
size = lbl2.getPreferredSize();
lbl2.setMinimumSize(size);
lbl2.setPreferredSize(size);
button1.setPreferredSize(new Dimension(20,25));
button2.setPreferredSize(new Dimension(20,25));
、基本的には、ボタンが元のサイズに行くと全体のレイアウトを台無しにsizes.andを好まれません。これをどうやって解決するのですか?すべてのコンポーネントはgridBagConstraints.fillのてGridBagConstraintでいっぱいにしないように設定されているGridBagConstraints.NONEに設定 - ご提案ごとに、私はコードを削除したようしかし、レイアウトはまだ:(
UPDATE
を台無しにされますそれは、setPreferredSize()メソッドを呼んでいた、これは私が得るものです:
明らかに、これは私は避けたいものです - ボタンを、それは、setPreferredSizeを設定するためのものだった理由のテキストよりも大きいですボタンの上に。今私は何をしますか?
サイズをリセットする必要があるのはなぜですか。最初にレイアウトを作成している間は非表示に設定し、アクションリスナに表示させることができます。また、グリッドバッグは、ラベルの他にコンポーネントが通常のグリッドから飛び出しているので、正しく設定されていないようです。コンポーネントのグリッドバッグ定数を設定する必要があります。より整ったレイアウト(グリッドバッグレイアウトの目的) –
1)すぐに役立つように、[SSCCE](http://sscce.org/)を投稿してください。 2)コンストラクタ内のテキストフィールドのサイズを提案するのがベストです。 3)コンテナに 'pack()'を呼び出すようにしてください。 4)レイアウトは、コンポーネントの望ましいサイズを尊重することもあり、そうでない場合もあります。 5)これは[GroupLayout'](http://docs.oracle.com/javase/7/docs/api/javax/swing/GroupLayout.html)に適しています。 –
@NitinChhajerはアップデートを追加しました – Jay