日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺析Swing組件的規(guī)則

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

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

具現(xiàn)化的意思是組建的paint()方法已經(jīng)或可能會被調(diào)用。一個作為頂級窗口的Swing組件當(dāng)調(diào)用以下方法時將被具現(xiàn)化:setVisible(true)、show()或(可能令你驚奇)pack()。當(dāng)一個窗口被具現(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的文檔中,線程安全的方法用以下文字標(biāo)記:
Thismethodisthreadsafe,althoughmostSwingmethodsarenot.(這個方法是線程安全的,盡管大多數(shù)Swing方法都不是。)
◆一個應(yīng)用程序的GUI常??梢栽谥骶€程中構(gòu)建和顯示:下面的典型代碼是安全的,只要沒有(Swing或其他)組件被具現(xiàn)化:

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

文章名稱:淺析Swing組件的規(guī)則
路徑分享:http://www.5511xx.com/article/cciddjp.html