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

淺析Swing組件的規(guī)則

開發(fā) 后端
本文簡單介紹Swing組件的規(guī)則,一旦Swing組件被具現(xiàn)化,所有可能影響或依賴于組件狀態(tài)的代碼都應該在事件派發(fā)線程中執(zhí)行。

Swing的規(guī)則是:
一旦Swing組件被具現(xiàn)化(realized),所有可能影響或依賴于組件狀態(tài)的代碼都應該在事件派發(fā)線程中執(zhí)行。

這個規(guī)則可能聽起來有點嚇人,但對許多簡單的程序來說,你用不著為線程問題操心。在我們深入如何撰寫Swing代碼之前,讓我們先來定義兩個術語:具現(xiàn)化(realized)和事件派發(fā)線程(event-dispatchingthread)。

具現(xiàn)化的意思是組建的paint()方法已經(jīng)或可能會被調(diào)用。一個作為頂級窗口的Swing組件當調(diào)用以下方法時將被具現(xiàn)化:setVisible(true)、show()或(可能令你驚奇)pack()。當一個窗口被具現(xiàn)化,它包含的所有組件都被具現(xiàn)化。另一個具現(xiàn)化一個組件的方法是將它放入到一個已經(jīng)具現(xiàn)化的容器中。稍后你會看到一些對組件具現(xiàn)化的例子。

事件派發(fā)線程是執(zhí)行繪制和事件處理的線程。例如,paint()和actionPerformed()方法會自動在事件派發(fā)線程中執(zhí)行。另一個將代碼放到事件派發(fā)線程中執(zhí)行的方法是使用SwingUtilities類的invokeLater()方法。
所有可能影響一個已具現(xiàn)化的Swing組件的代碼都必須在事件派發(fā)線程中執(zhí)行。但這個規(guī)則有一些例外:
◆有些方法是線程安全的:在SwingAPI的文檔中,線程安全的方法用以下文字標記:
Thismethodisthreadsafe,althoughmostSwingmethodsarenot.(這個方法是線程安全的,盡管大多數(shù)Swing方法都不是。)
◆一個應用程序的GUI常??梢栽谥骶€程中構建和顯示:下面的典型代碼是安全的,只要沒有(Swing或其他)組件被具現(xiàn)化:

  1. publicclassMyApplication{  
  2. publicstaticvoidmain(String[]args){  
  3. JFramef=newJFrame("Labels");  
  4. //在這里將各組件  
  5. //加入到主框架……  
  6. f.pack();  
  7. f.show();  
  8. //不要再做任何GUI工作……  
  9. }  

【編輯推薦】

  1. Swing SWT集成框架介紹
  2. 淺析Swing實現(xiàn)MDI的方法
  3. 概述Swing中的JApplet和JFrame
  4. 淺談Swing中的Metal觀感
  5. Swing動態(tài)刷新常用代碼
責任編輯:佚名 來源: 電子工業(yè)出版社
相關推薦

2009-07-17 11:30:44

Swing Image

2009-07-10 10:37:50

Swing Set示例

2009-07-16 09:54:44

LookupEventSwing線程

2009-07-15 10:06:54

Swing實現(xiàn)MDI

2009-07-17 16:41:48

actionPerfoSwing

2009-07-15 16:03:26

Swing線程

2009-07-10 14:20:01

AcceleratorJava Swing

2009-07-15 16:50:07

Swing項目

2009-07-15 13:46:26

Swing體系結構

2009-07-16 17:01:09

Swing字符串

2009-07-10 16:29:32

Swing組件

2009-07-14 17:21:42

Swing組件

2009-07-10 18:06:59

JTree Swing

2009-07-17 12:54:13

2009-07-10 13:20:37

Swing容器組件

2012-01-17 17:21:24

JavaSwing

2009-07-14 14:00:47

iData技術

2009-07-10 17:24:07

Swing應用程序

2009-07-15 17:33:08

Swing客戶端

2009-07-14 15:12:36

SwingSWT和AWT
點贊
收藏

51CTO技術棧公眾號