【发布时间】:2010-12-09 14:29:02
【问题描述】:
我制作了一个 java GUI 程序,并在该 GUI 上添加了一个 jList,以便通过调用添加项目来在该 jList 上打印程序的输出
listBox.addElement(""); // where listBox is an instance of jList
但问题是在添加时项目没有显示。当程序即将结束时,它们会显示出来。
意思是,我通过单击“开始”按钮启动程序,然后完成整个处理,包括将项目添加到“listBox”,但是当程序返回到“ “开始”按钮的 ActionListener 的 actionPerformed()" 方法。
可以做什么以便在项目添加到列表时立即显示它们。
上述应用程序是多线程的。主线程启动 GUI,然后启动 10 个线程并将 jList 的“listModel”(DefaultListModel 的实例)传递给所有线程,以便每个线程可以通过调用“addElement(”“)”方法将项目添加到列表中“列表模型”
实际上,listModel 是 DefaultListModel 类的子类(DefaultListModelSubClass)的一个实例。我已经重写了 addElement() 方法以使其“同步”,这样一次只有一个线程可以向其中添加一个项目。
【问题讨论】:
标签: java user-interface jlist