0

http://pastebin.com/VaaTRsuf

ウィンドウに合わせて JList と JTextArea のサイズを変更したいのですが、JPanel は中央にとどまります。

4

1 に答える 1

2

LogView クラスは JPanel を拡張するため、変更しない限り、JPanel のデフォルト レイアウトである FlowLayout を使用します。FlowLayout を使用するコンテナーに保持されているコンポーネントは、コンテナーのサイズが変更されてもサイズが変更されないため、この動作が必要な場合は、コンポーネント リスナーは必要ありません。LogView JPanel のレイアウト マネージャーを BorderLayout に変更するだけで済みます。または、保持されているコンポーネントを展開できる同様のもの、それだけです。1 行のコード:

public LogView(final JFrame contentPane) {

  // .......

  setLayout(new BorderLayout());  // add this, that's it
  add(mainPanel);
}

もう 1 つのオプションは、mainPanel がまったく必要ないように思われるので削除し、LogView オブジェクトのレイアウトを GridBagLayout に設定し、コンポーネントを LogView オブジェクトに直接追加することです。

于 2012-02-09T01:24:17.573 に答える