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