6

JList(カスタムデータモデルを使用)にスクロールバーを追加しようとしています。JScrollPaneを追加すると、スクロールバーを追加する代わりに、実際にはJListが非表示になります。スクロールバーを使用してコードを実行すると、JListが表示されず、データが表示されません。

playlistField = new JList(playlist); // playlist is a data model
playlistField.setLocation(32, 220-36);
playlistField.setSize(350,120);
playlistField.setVisible(true);
this.add(playlistField);

listScrollPane = new JScrollPane(playlistField, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

listScrollPane = ...行をコメントアウトすると、JListが再び表示され、期待どおりに機能します。

私は何を取りこぼしたか?

4

1 に答える 1

6

リストではなく、スクロールペインをコンテナに追加する必要があります。

現在の例では、スクロールペインにリストを追加することで、元のコンテナーからリストを削除します。これは、コンポーネントが親を 1 つしか持てないためです。

于 2009-06-02T17:44:56.030 に答える