簡體   English   中英

Swing事件線程Java

[英]Swing Event Thread Java

在此代碼中,HelloWorldApp只是擴展了JFrame。 為什么我不需要將“ app”對象定義放入invokeLater方法中? 為什么“ app”必須是最終的? 謝謝

final HelloWorldApp app = new HelloWorldApp();
SwingUtilities.invokeLater( new Runnable() 
{
    public void run() 
    {
        app.createAndShowGUI();
    }
});
  1. 擺動組件的UI狀態的所有更改都必須在EDT(事件調度線程)內完成。 因此,只要在構造函數HelloWorldApp()不創建UI組件或更改UI組件的狀態,就可以在主線程中完成“ app”的定義。

  2. 我認為沒有必要將類指定為final。 在最新的教程中,它不再是最終的。 參見Hello World教程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM