我正在使用 Netbeans IDE制作GUI。关键是当我将 JFrame 框架添加到我的项目包时:
它将框架的每个变量(button,textArea,.. etc)声明为私有,并且无法更改它。当我尝试在run()
方法内的main
方法中创建使用这些变量的线程时出现问题。
注意:我尝试创建单独的类扩展Thread,我不能在
main
中调用它,除非我将其声明为static
,然后同样的问题再次出现。
如何在main
内创建使用这些变量的线程(即在文本区域附加文字)?
答案 0 :(得分:4)
不要试图这样做。 UI元素应不从事件调度线程以外的其他线程访问。您将找到有关Oracle Java教程Concurrency in Swing的参考资料。提取物(强调我的):
Swing程序员处理以下类型的线程:
一些Swing组件方法标有"线程安全"在API规范中;这些可以从任何线程安全地调用。 必须从事件派发线程调用所有其他Swing组件方法。忽略此规则的程序可能在大多数情况下正常运行,但会遇到难以重现的不可预测的错误。