gpt4 book ai didi

java - Swing 事件线程 Java

转载 作者:行者123 更新时间:2023-12-02 03:11:58 24 4
gpt4 key购买 nike

在此代码中 HelloWorldApp 只是扩展了 JFrame 。为什么我不需要将“app”对象定义放入 invokeLater 方法中?为什么“应用程序”需要是最终的?谢谢

final HelloWorldApp app = new HelloWorldApp();
SwingUtilities.invokeLater( new Runnable()
{
public void run()
{
app.createAndShowGUI();
}
});

最佳答案

  1. 对 swing 组件的 UI 状态的所有更改都必须在 EDT(事件调度线程)内完成。因此,只要在构造函数 HelloWorldApp() 中不创建 UI 组件或更改 UI 组件的状态,就可以在主线程中完成“app”的定义。

  2. 我认为没有理由将该类指定为最终类。在最新的教程中,它不再是最终的。请参阅Hello World tutorial

关于java - Swing 事件线程 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40906092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com