java 事件分发线程_Java事件调度线程说明
我最近開始學習和探索Java中GUI編程的基礎知識。
經過一段時間的編程,我只完成了后端工作或其他工作,因此,我最接近用戶界面的是命令控制臺(令人尷尬的是,我知道)。
我正在使用Swing,據我所知,通過擴展,我也正在使用AWT。
我的問題基于以下代碼:
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new frame.setVisible(true);
}
} );
我已經研究了一段時間,因為我想完全理解這段奇怪的代碼,并且多次遇到“事件分派線程”一詞。如果我錯了,請糾正我,但據我了解;它與使用多個線程以及Java Swing如何解釋這些線程有關。我還收集到上面的代碼用于在創建窗口之前確保所有線程都是“安全的”,因此invokeLater嗎?
我讀過:
“你只能從事件調度線程中調用在框架上運行的方法”
而且只有在某些情況下,你才能從main方法調用在框架上運行的方法。
有人可以向我說明事件調度線程到底是什么嗎?
它與多個執行線程有何關系?如何安全地從main方法調用這些線程?同樣為什么我們需要這個invokeLater?
我們不僅可以像其他任何對象一樣創建窗口嗎?
由于我沒有掌握這些關系和想法,因此在研究中遇到了一些障礙。
附帶說明的是,我希望將自己的知識基于深入的了解,因為我相信這會帶來最佳的總體結果,因此也是最好的程序。如果我深入了解某些東西是如何工作的,那么你可以有效地使用技巧和調整,而不僅僅是將它們重新編寫回代碼中,因此請不要害怕給我一些額外的深入解釋并擴大我的知識。
謝謝。
總結
以上是生活随笔為你收集整理的java 事件分发线程_Java事件调度线程说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java绘图板_Java中的画图板简单功
- 下一篇: java 好处_Java的优点