繁体   English   中英

动态更新Jlist

[英]Updating Jlist dynamically

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

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);

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

DefaultListModel model = new DefaultListModel();
jList1 = new JList(model);
for (int i = 0; i < 15; i++) {
    model.addElement("Element " + i);
}
jList1.setModel(model);

但该列表没有更新。 如何动态更新它。

首先摆脱jList1 = new JList(model); 在您创建新的DefaultListModel

DefaultListModel model = new DefaultListModel();
//jList1 = new JList(model);
for (int i = 0; i < 15; i++) {
    model.addElement("Element " + i);
}
jList1.setModel(model);

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

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

  DefaultListModel model = (DefaultListModel)jList1.getModel();
  model.addElement("Element " + count++);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM