eventqueue.invokelater(new runnable()
时间: 2023-04-28 10:03:03 浏览: 89
eventqueue.invokelater(new runnable() 的意思是在事件队列中添加一个任务,这个任务是一个实现了 Runnable 接口的对象。当事件队列空闲时,会自动执行这个任务。
相关问题
eventqueue.invokelater
`invokeLater` 是 Java 的一个方法,它用于将一个任务排入事件队列,在所有其他事件处理完之后再执行该任务。这样可以保证该任务不会影响当前正在运行的事件的处理。
使用方法:
```
EventQueue.invokeLater(new Runnable() {
public void run() {
// 任务代码
}
});
```
如果你想等待这个任务执行完成,可以使用 invokeAndWait 方法。
```
EventQueue.invokeAndWait(new Runnable() {
public void run() {
// 任务代码
}
});
```
EventQueue.invokeLater(new Runnable() { public void run() { try { Gui frame = new Gui(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } });
这段代码使用了Java Swing框架,并创建了一个GUI窗口(Gui类的实例),并将其设置为可见。
EventQueue.invokeLater()是Java Swing框架中的一个方法,用于在Event Dispatching Thread(EDT)中异步执行一个Runnable对象。EDT是Swing框架中用于处理GUI事件的线程,因此所有Swing组件的创建和修改操作都应该在EDT中执行。
在这段代码中,我们传递了一个Runnable对象给invokeLater()方法,并重写了其run()方法。在run()方法中,我们创建了一个Gui类的实例,并将其设置为可见。
需要注意的是,如果我们在主线程中直接创建和显示GUI组件,会导致GUI界面反应缓慢甚至崩溃。因此,使用EventQueue.invokeLater()方法可以确保GUI组件的创建和修改在EDT中异步执行,保证了GUI界面的稳定性和反应速度。