繁体   English   中英

Netbeans GUI和“主”内部的线程处理

[英]Netbeans GUI and dealing with Threads inside “main”

我正在使用Netbeans IDE制作GUI。 关键是,当我向项目包中添加JFrame框架时:

创建新的Jframe

它将框架的每个变量(按钮,textArea,.. etc)声明为私有,并且无法更改。 当我尝试创建在main方法内部的run()方法中使用这些变量的线程时,就会出现问题。

注意:我试图创建单独的扩展Thread类,除非将其声明为static ,否则不能在main类中调用它,然后再次出现相同的问题。

我怎样才能使使用这些变量的线程(即文本追加到文本区)内main

不要尝试这样做。 UI元素不得从另一个线程不是事件指派线程访问。 您可以在Swing中找到有关Oracle Java教程并发性的参考。 提取物(强调我的):

Swing程序员处理以下几种线程:

  • 初始线程,即执行初始应用程序代码的线程。
  • 事件调度线程,在其中执行所有事件处理代码。 与Swing框架进行交互的大多数代码也必须在此线程上执行。
  • 工作线程,也称为后台线程,在其中执行耗时的后台任务。

一些Swing组件方法在API规范中被标记为“线程安全”。 这些可以从任何线程安全地调用。 所有其他Swing组件方法都必须从事件分发线程中调用 忽略此规则的程序在大多数情况下都可以正常运行,但是会遇到难以预料的错误,这些错误很难重现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM