私の最終的な目標は、実行時にコンテンツを更新するJListを持たせ、この投稿のhere on SOから解決する解決策を見つけました。私の元の考えはしませんでした。クラスを引数としてJListの.setModel()メソッドを使用する
今のところ、私はこのセットアップのようなものを持っており、それが動作します:
以下DefaultListModel default = new DefaultListModel();
for(int i = 0; i < array.size() ; ++i){
test.addElement(array.get(i));
}
list.setModel(default);
は私の当初の計画でした。私はListModelを実装したクラスを引数として渡して、JListをリフレッシュすることを望んでいました。
SomeClass test = new SomeClass(); //Implements ListModel
list.setModel(test);
または
SomeClass test = new SomeClass(); //Implements ListModel
list = new JList(test);
どちらも私を混乱させるこれらの作業の。これらの最後の2つのメソッドがいくつかの機能を果たすことができますか?コードは非常にクリーンです。
ありがとうございました。
このクラスのインスタンスではなく、クラスListModelを渡すことは、コンパイラエラーです。なぜあなたは混乱していますか? – Istao
私のコードデモは、少し誤解を招くと思います。私がやっていることは、これをもっと明確にするためにコードを変更します。 – Koop
最後の2つの方法はなぜ機能しないのですか?表示されているエラーを入力してください。 'SomeClass'が' ListModel'を拡張すると、それらのメソッドの両方が動作します。 –