java - 无法将元素添加到 JList

标签 java swing concurrency jlist event-dispatch-thread

我知道这不是关于填充 JList 的唯一问题,但我没有在另一个 SO 线程中找到答案。

我使用 Netbeans GUI 构建器来创建我的 GUI。 JList 被添加到滚动 Pane 中,如果我对 JList 的内容进行硬编码,则一切都显示正常。

jList1.setModel(new javax.swing.AbstractListModel() { 
public String[] strings = {"1", "2", "etc..."}; 
@Override 
  public int getSize() { 
  return strings.length; 
} 

@Override 
   public Object getElementAt(int i) { 
   return strings[i]; 
} 
}); 

但是,如果我尝试通过 SwingWorker 动态添加项目,则什么也不会出现。

JList jList1 = new javax.swing.JList();
DefaultListModel info = new DefaultListModel();
....
jList1.setModel(info);

....
public void FillList(final String subject) {

    worker = new SwingWorker() {
        @Override
        protected Object doInBackground() {
            info.addElement(subject);

            return 0;
        }

        @Override
        protected void done() {
        }
    };
    worker.execute();
}

我只是想为了视觉目的在 JList 中显示主题,其余的在后台完成。

感谢任何帮助,

谢谢!

最佳答案

关于java - 无法将元素添加到 JList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12744532/

相关文章:

Java线程join()与 sleep 间隔导致问题

java - 在 JFrame 中显示 java JPanel

java - 在java中使用for循环或while循环将句子分割成单词

java - 带有蓝色填充矩形的 Jframe

java - 计算文本区域中的单词数

android - 如何减少 Android 中的 Thread.sleep() 延迟

c# - 为什么.Net 中的大写字母大于小写字母?

java - JLabel 特定的 GIF 动画播放速度太快

java - 使用变量(int/string)定义框架/对象名称

c++ - 用于线程间通信的 volatile 和 mutex