【发布时间】:2013-08-28 00:26:50
【问题描述】:
在准备考试时,我偶然发现了 Java 图形中的一些我不太清楚的线条。所以我开始浏览并检查其他一些程序,它们没有这些行。
示例:
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){//unknown
public void run(){ //lines
JPanel panel = new DrawingPanel();
...
}
现在我知道 Runnable 和 run 必须处理线程,但我不知道这两行为什么以及如何工作
【问题讨论】:
-
请查看Concurrency in Swing。 Java Docs 可以更好地解释这一点:-)
-
Swing 的一个关键是所有 Swing 调用都应该在单个线程上进行,即事件调度线程,包括启动 GUI 的代码。您正在做的事情(如果您查找 SwingUtilities,API 会告诉您正在做的事情)正在将 Runnable 排队到此事件线程上。
-
这个问题是一个副本的副本,它已经是一个副本。在询问之前先搜索一下!
-
是的,投票以重复结束