自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

GUI程序與Swing中的線程

開發(fā) 后端
本文介紹GUI程序與Swing中的線程,了解了Swing中的線程定義,能夠讓我們更好的寫出優(yōu)美的基于Swing的GUI程序。

Swing中的線程

Swing作為一個完整的UI解決方案,包含了一個GUI程序所擁有的方方面面,當然包括作為普通程序也好,作為GUI程序也好,作為Web程序等等程序都共有的線程概念。

Swing中的線程有三種:初始線程,事件線程,工作線程

這三種線程基本上包括了讓一個GUI完美工作的方方面面,首先,初始線程被用來創(chuàng)建GUI組件、資源加載和啟動GUI組件,眾所周知,Swing是事件驅(qū)動的,所以當UI出現(xiàn)了之后,初始線程就完成了它的使命,并將接力棒交給了事件線程,Event Dispatch Thread,這個時候所有組件的事件行為都交給了這個線程去處理,當然我們自己也要需要用線程來運行許多任務(wù),優(yōu)秀的GUI程序是絕不能讓界面被卡死不動的,那會讓用戶崩潰,所以這個時候就需要工作線程了,也可以說是在背后運行的線程,這種線程是勞動階級,任勞任怨的執(zhí)行者長時間的工作。

初始線程的寫法很簡單,這樣就可以了:

  1. SwingUtilities.invokeLater(new Runnable() {  
  2.     public void run() {  
  3.         initGUI();  
  4.         showGUI();  
  5.     }  

但是Applet中,你可能需要調(diào)用SwingUtilities.invokeAndWait這個方法,要是init方法返回了,瀏覽器開始展現(xiàn)Applet,但是GUI的創(chuàng)建還在thread中,出錯也是可想而知的。
至于invokeLater和invokeAndWait這兩個線程的簡單點的區(qū)別就是invokeLater是異步的,你不知道它什么時候會開始執(zhí)行,invokeAndWait則是同步的,它會等到動作執(zhí)行完成之后才返回。

Event Dispatch Thread不是線程安全的,所以要用線程來與它打交道要注意了,同步問題總是讓人頭痛。

在1.5之前應(yīng)該說工作線程都是由開發(fā)人員自己去定義的,但是現(xiàn)在Swing推薦了SwingWorker這個類,包括Swing最新的符合JSR標準的Swing AppFramework也使用了SwingWorker這個類來處理所有在GUI背后做的事情。

了解了Swing中的線程定義,能夠讓我們更好的寫出優(yōu)美的基于Swing的GUI程序。

【編輯推薦】

  1. 不同Swing線程的模型設(shè)計
  2. AWT和Swing的可訪問性
  3. Swing組件也是AWT的一部分
  4. 淺析iData技術(shù)與Swing關(guān)系
  5. 命令行輸入改變Swing程序外觀
責任編輯:佚名 來源: 千家綜合布線網(wǎng)
相關(guān)推薦

2009-07-16 08:53:03

Swing任務(wù)Swing線程

2009-07-16 09:54:44

LookupEventSwing線程

2009-04-30 09:10:42

JavaSwing線程安全

2009-07-17 14:57:41

SwingWorkerSwing程序

2009-07-16 11:19:48

外部線程Swing組件

2011-06-22 15:42:18

QT 信號

2009-07-15 15:35:59

Swing程序Swing性能

2009-07-14 16:07:59

調(diào)用JavaFX代碼Swing程序

2012-01-17 16:41:08

JavaSwing

2009-07-14 11:08:42

WebRendererSwing應(yīng)用程序

2011-04-15 17:33:39

SWINGAWT

2009-07-14 11:30:15

Swing線程

2009-07-15 16:03:26

Swing線程

2009-07-15 18:06:38

Swing線程

2009-07-15 17:09:32

Swing線程

2012-06-20 14:07:28

多線程架構(gòu)單線程

2011-06-14 14:57:06

QT Python GUI

2009-07-17 16:09:29

Swing桌面應(yīng)用程序

2009-07-16 16:23:59

Swing線程

2009-07-10 15:18:48

Synth外觀Swing外觀
點贊
收藏

51CTO技術(shù)棧公眾號