0

プログラムの実行中に更新するにはどうすればよいJListですか? 別のクラスからan をインポートしArrayListて、リストに入れています。ユーザーが配列リストに何かを追加すると、画面上のリストに表示されるようになります。

4

1 に答える 1

3

ArrayListを何らかの形でラップし、を使用して のモデルListModelを変更しますJListJList#setModel

詳細については、リストの使用方法を参照してください

DefaultListModelを更新するたびに を使用できますが、必要に応じて、、、または などを使用してArrayListを更新する必要があります。DefaultListModeladd(int, E)addElement(E)remove(int)removeElement(Object)removeAllElements

JListこれにより、モデルに加えられた変更が自動的に通知されます

更新しました

より複雑なアプローチは、プロキシ パターンを使用することかもしれませんArrayList。この場合、自動的にモデルに反映できる変更時期に関する情報を提供するプロキシを作成します。これは、インポート元のクラスがArrayListクラスに のインスタンスを要求することを前提としていますArrayList

addこのようにして、、setおよびメソッドを監視removeし、自動的に変更を加えることができListModelます...

于 2013-11-04T01:33:43.470 に答える