public void addUserMessaged(String user) {
model.addElement(user);
manager.addUser(user);
}
我基本上都是想这样做。我已经尝试过synchronized和invokeLater,但它只是不起作用并抛出异常。我不知道为什么,我一整天都在阅读Java文档,而我正在尝试的东西将不起作用。
我是从另一个线程调用它,这就是我所说的:
gui.addUserMessaged(user);
gui
在构造函数中通过引用传递,gui
是实际的gui
句柄。
只是想我添加它在主线程中调用它时工作正常,但如果我创建一个线程并从那里调用它会导致问题
如何更改线程安全JList
项目?
例外:
Exception in thread "Thread-2" java.lang.NullPointerException
at gui.gui.addUserMessaged(gui.java:189)
at gui.worker.run(worker.java:81)
at java.lang.Thread.run(Unknown Source)
感谢您的帮助!我发现了问题所在。我只是在加载时的条件下初始化一个变量,现在我只是一直初始化它。