我的最終目標是讓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);
無論這些工作,這讓我困惑的。這些最後兩種方法可以工作一些,代碼是如此乾淨。
謝謝。
傳遞類ListModel而不是此類的實例是編譯器錯誤。你爲什麼困惑? – Istao 2010-11-20 09:10:13
我認爲我的代碼演示有點誤導對不起。那就是我正在做的事情,我會更改代碼以使其更清楚。 – Koop 2010-11-20 09:16:47
爲什麼最後兩種方法不起作用?請提供您看到的錯誤。如果'SomeClass'擴展了'ListModel',那麼這兩種方法都可以工作。您的SomeClass代碼將很好地看到 – 2010-11-20 10:01:24