2009-10-29 3 views

答えて

7

コンテンツのコピーを作成する場合は、DefaultListModel.toArrayを使用してデータを取得し、お気に入りのListの実装を構築できます。また、ListModel.getElementAtListModel.getSize回以上ループすることもできます。

public static List<Object> asList(final DefaultListModel model) { 
    return new AbstractList<Object>() { 
      @Override public Object get(int index) { 
       return  model.getElementAt(index); 
      } 
      ... 
    }; 
} 

あなたはそこにClass.castをスライドすることもできますが、スイングタイプは、汎用されていないとの固有の問題があります:あなたは、コレクションではなく、コピー間のライブ接続をしたい場合は

AbstractListを使用しています。

11
Arrays.asList(model.toArray()); 
+0

データをコピーするか、接続したままにするかによって異なります。 –

1

はイェオールドAPIによると、リストに追加し、elements()メソッドを使用し、それらを反復処理する必要があります。 DefaultListModelは、通常のCollectionsクラスと同じ階層にありません。

またはjarnbjoさんが提案したものを使用してください。

関連する問題