2009-10-29 50 views

回答

7

如果您想製作一份內容的副本,那麼您可以使用DefaultListModel.toArray來獲取數據並構建您喜歡的List實現。或者,您可以循環使用ListModel.getElementAtListModel.getSize次。

如果你想收藏,而不是一個副本之間的實時連接,使用AbstractList

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

您可能要在那裏滑動Class.cast,但與不是一般的揮杆類型的固有問題。

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

取決於您是要複製數據還是保持連接。 – 2009-10-29 16:09:35

1

據葉奧爾德API,你需要使用elements()方法和遍歷它們,將它們添加到列表中。 DefaultListModel與常規集合類不在同一個層次結構中。

或者使用jarnbjo建議的!

相關問題