1

まず、私の母国語ではない英語で申し訳ありません。私はベストを尽くそうとする

ディスプレイに問題があります。すでにいくつかの要素が含まれている Panel の java.util.List があります。JDialog の作成時にそれらを JPanel に挿入したいと思います。私の JDialog には、'add' と 'delete' の 2 つの JButton があり、それぞれ JPanel の下部に新しい JPanel を追加し、もう 1 つは最後に追加された JPanel を削除します。私の問題は、追加されたJPanelの数に関係なく、2つのJPanelの間に大きなギャップがあることです.理由はわかりません... 2つのデモ写真:


3つのJPanelを使用した私のJDialog

3つ以上のJPanelを持つ私のJDialog

私のレイアウトは GridBagLayout で、Eclipse Indigo で WindowBuilder を使用しています。これが私のコードです。問題は、GridBagConstraints のアンカーに割り当てる値にあると思います...
listChamps は、挿入したい JPanel のリストです
panelListFile は、listChamps の要素が挿入される JPanel です

for (int i = 0; i < listChamps.size (); ++i) {
            GridBagConstraints gbc_pan = new GridBagConstraints ();
            gbc_pan.gridwidth = 1;
            gbc_pan.fill = GridBagConstraints.HORIZONTAL;
            gbc_pan.anchor = GridBagConstraints.NORTH;
            gbc_pan.gridx = 0;
            gbc_pan.gridy = i;
            panelListFiles.add (listChamps.get (i), gbc_pan);
 }

ありがとうございます。

4

2 に答える 2

2

私は 2 つの方法を使用していますが、どちらの場合もJPanelネストされたJComponentを追加する必要があります。

于 2012-05-16T07:07:17.737 に答える
1

さまざまなスタイルを使用してレイアウトを追加および再配置することにより、JPanel で JPanel を使用できます。

于 2012-05-18T08:34:36.797 に答える