首页
学习
活动
专区
圈层
工具
发布

清除JList
EN

Stack Overflow用户
提问于 2014-11-01 09:02:40
回答 1查看 1.6K关注 0票数 0

因此,我有一个JList,当方法被调用时,我会向其中添加数据。我希望能够刷新JList中的数据,但每次我尝试从JList中删除时,新数据都会被附加到旧数据中。因此,基本上当按下按钮时,它会调用该方法并更新JList (清除旧数据并读入新数据)。

我尝试从模型中清除数据,当我请求大小时,它说它是0,但它仍然是附加的。我还尝试从列表本身中删除。快把我逼疯了,任何帮助都将不胜感激。这基本上就是我正在做的事情,每次调用方法时,“新数据”都会发生变化。

代码语言:javascript
复制
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");

}
EN

回答 1

Stack Overflow用户

发布于 2014-11-01 09:05:14

首先,不要调用list.removeAll,虽然它不太可能做任何事情,但以这种方式处理组件是不明智的。

最简单的解决方案就是替换JListListModel……

代码语言:javascript
复制
list.setModel(new DefaultListModel());

或者,在你的情况下,像这样的东西。

代码语言:javascript
复制
model = new DefaultListModel();
list.setModel(model);
model.addElement("new Data");

如果这不起作用,那么您可能是在隐藏您的变量,在这种情况下,请考虑提供一个runnable example来说明您的问题。这将导致更少的混乱和更好的响应

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26685326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档