首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态更新Jlist

动态更新Jlist
EN

Stack Overflow用户
提问于 2015-02-02 15:02:36
回答 2查看 9K关注 0票数 4

我是swing的新手。我已经在面板中拖放了Jlist组件。它生成的代码是

代码语言:javascript
复制
jList1 = new javax.swing.JList();
jList1.setModel(new javax.swing.AbstractListModel() {
    String[] strings = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"};

    public int getSize() {
        return strings.length;
    }

    public Object getElementAt(int i) {
        return strings[i];
    }
});
jScrollPane1.setViewportView(jList1);

执行完代码后,它会给出默认包含的元素。我想通过代码动态地插入元素,我该怎么做呢?我试着用

代码语言:javascript
复制
DefaultListModel model = new DefaultListModel();
jList1 = new JList(model);
for (int i = 0; i < 15; i++) {
    model.addElement("Element " + i);
}
jList1.setModel(model);

但该列表不会更新。我如何动态更新它。

EN

回答 2

Stack Overflow用户

发布于 2015-02-02 15:06:34

首先,在创建新的DefaultListModel之后删除jList1 = new JList(model);

代码语言:javascript
复制
DefaultListModel model = new DefaultListModel();
//jList1 = new JList(model);
for (int i = 0; i < 15; i++) {
    model.addElement("Element " + i);
}
jList1.setModel(model);

您正在创建一个新的JList实例,该实例与屏幕上的实例无关

票数 6
EN

Stack Overflow用户

发布于 2015-02-02 15:23:51

否动态添加元素您可以使用给定的代码

代码语言:javascript
复制
  DefaultListModel model = (DefaultListModel)jList1.getModel();
  model.addElement("Element " + count++);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28272571

复制
相关文章

相似问题

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