[英]Clearing a JList
因此,我有一個JList,當方法被調用時,我會向其中添加數據。 我希望能夠刷新JList中的數據,但是每次嘗試從JList中刪除時,新數據都會追加到舊數據中。 因此,基本上,當按下按鈕時,它將調用該方法,並且應該更新JList(清除舊數據並讀入新數據)。
我嘗試從模型中清除數據,當我請求大小時,它說是0,但仍附加。 我也嘗試從列表本身刪除。 瘋了我,任何幫助將不勝感激。 基本上,這就是我的工作方式,每個方法調用都會更改“新數據”。
DefaultListModel model = new DefaultListModel();
JList list = new JList(model);
public void method(){
if(model.size() > 0){
model.removeAllElements();
model.clear();
list.removeAll();
}
model.addElement("new Data");
model.addElement("new Data");
}
首先,不要調用list.removeAll
,盡管不太可能做任何事情,但以這種方式弄亂組件是不明智的。
最簡單的解決方案是只替換JList
的ListModel
...
list.setModel(new DefaultListModel());
或者,就您而言,類似...
model = new DefaultListModel();
list.setModel(model);
model.addElement("new Data");
如果這不起作用,那么您可能正在隱藏變量,在這種情況下,請考慮提供一個可運行的示例來演示您的問題。 這將減少混亂並改善響應
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.