0
所有与GUI相关的代码只能从EDT
执行。在Android
开发中,类似这样的东西似乎被强制实施,所以如果你这样做,你会得到一个例外。在主线程中进行网络调用。但是,对于开发Java
桌面应用程序,没有这样的事情。很容易忘记EDT
并且仍然在另一个线程中执行GUI代码。这可能会导致奇怪的毛刺/错误,因为Swing
is not thread-safe。有没有办法在默认情况下强制执行每个GUI代码的EDT
的用法,类似于Android
更严格吗?我不想手动检查所有内容,如果违反了EDT
使用建议,则会发生异常。我正在使用IntelliJ IDEA
。强制EDT线程用于Swing库
在Java代码中,像可以对每个自动插入下列条款Swing库方法:
if(!SwingUtilities.isEventDispatchThread())
{
throw new IllegalStateException("EDT property violated");
}
任何方式来获得吗?