簡體   English   中英

清除JList

[英]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 ,盡管不太可能做任何事情,但以這種方式弄亂組件是不明智的。

最簡單的解決方案是只替換JListListModel ...

list.setModel(new DefaultListModel());

或者,就您而言,類似...

model = new DefaultListModel();
list.setModel(model);
model.addElement("new Data");

如果這不起作用,那么您可能正在隱藏變量,在這種情況下,請考慮提供一個可運行的示例來演示您的問題。 這將減少混亂並改善響應

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM