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

Swing組件都擴(kuò)展自JComponent

開發(fā) 后端
本文介紹Swing組件都擴(kuò)展自JComponent,以及介紹不論是AWT模式還是Swing模式,Sun的GUI開發(fā)思路都是純OO的。

Sun在JDK 1.0最初發(fā)布了圖形API包,代號(hào)AWT (abstract windowing toolkit),里面除對(duì)GUI基本支持(如結(jié)合各OS的事件分發(fā)機(jī)制等)外,自有一套重量級(jí)開發(fā)GUI的思路,并提供了一組常規(guī)使用的重量級(jí)組件。所謂重量級(jí)組件就是每個(gè)組件都引用一個(gè)本地對(duì)等體peer成員對(duì)象,這個(gè)對(duì)等體對(duì)象利用本地系統(tǒng)GUI API繪制組件。后來在JDK1.1,AWT包中引進(jìn)了一套輕量級(jí)開發(fā)GUI的新思路,并提供了一組輕量級(jí)組件。所謂輕量級(jí)組件就是自身沒有本地對(duì)等體,而借助重量級(jí)組件作為容器來繪制組件。JDK 1.1之后,sun在開發(fā)GUI思路上,在效率,擴(kuò)展性等方面給出了很多創(chuàng)新,并基于這種新思路推出一套豐富的新組件(輕量級(jí)組件),sun為此打出一個(gè)新的響亮的代號(hào)---Swing,并推薦以后的GUI開發(fā)都應(yīng)該基于Swing的GUI開發(fā)思路開展,應(yīng)該使用或擴(kuò)展這套Swing組件。

不論是AWT模式還是Swing模式,Sun的GUI開發(fā)思路都是純OO的。開發(fā)人員總是構(gòu)建多個(gè)組件對(duì)象實(shí)例來組合建立GUI,這些對(duì)象是因不同的輸入輸出表現(xiàn)被封裝為多種組件類的實(shí)例,而這些組件類是有合理的繼承關(guān)系因而容易擴(kuò)展的“套件”。而且兩種模式最基本的統(tǒng)一的程序運(yùn)行思路都是:

1.通過建立各種組件的實(shí)例來負(fù)責(zé)GUI的工作。

2.約定出GUI變化時(shí)機(jī)—java應(yīng)用程序隨需發(fā)出請(qǐng)求調(diào)用或?qū)Σ僮飨到y(tǒng)級(jí)某種操作的監(jiān)聽(如暴露被遮擋的窗口內(nèi)容)。

3. 在時(shí)機(jī)到來時(shí)由“框架程序”來判斷并調(diào)用應(yīng)該調(diào)用的目標(biāo)組件實(shí)例所提供的各種形式的paint方法(各組件在此方法里通過java 2d API包來實(shí)現(xiàn)自己的具體繪制邏輯)來完成各組件繪制。

4. 在GUI的整個(gè)生命周期里,通過以上的123模式來完成整個(gè)應(yīng)用界面的隨需而變。

Swing式開發(fā)GUI的基本約定包括:Swing提供4個(gè)頂層容器JFrame,JDialog,JApplet,JWindow,如果是桌面應(yīng)用,則GUI必須要有一個(gè)JFrame,如果是瀏覽器應(yīng)用,則GUI必須要有一個(gè)JApplet。其他Swing組件,或自定義開發(fā)的Swing組件都擴(kuò)展自JComponent,并且其實(shí)例要存在于頂層容器的層次樹中。下面是一個(gè)符合約定的GUI的運(yùn)行分析。

  1. importjavax.swing.JFrame;  
  2. importjavax.swing.JLabel;  
  3. publicclassBasicSwing{  
  4. publicstaticvoidmain(String[]args){  
  5. javax.swing.SwingUtilities.invokeLater(newRunnable(){  
  6. publicvoidrun(){  
  7. createAndShowGUI();  
  8. }  
  9. privatevoidcreateAndShowGUI(){  
  10. JFrameframe=newJFrame("BasicSwing");  
  11. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  12. JLabellabel=newJLabel("helloworld");  
  13. frame.getContentPane().add(label);  
  14. frame.setSize(100,200);  
  15. frame.setVisible(true);  
  16. }  
  17. });  
  18. }  

【編輯推薦】

  1. 概述Swing核心組件
  2. 淺談NetBeans開發(fā)Swing
  3. Swing模式就是走RepaintManager的方式
  4. 淺析Swing Image的轉(zhuǎn)換
  5. 介紹AWT和Swing組件
責(zé)任編輯:佚名 來源: 艾瑞網(wǎng)
相關(guān)推薦

2009-07-10 18:06:59

JTree Swing

2009-07-17 12:54:13

2009-07-15 13:06:38

Swing組件

2009-07-10 17:03:17

AWT組件Swing組件

2009-07-10 16:29:32

Swing組件

2009-07-14 18:05:28

輕量級(jí)Swing組件

2009-07-17 14:38:51

輕量級(jí)Swing組件

2009-07-14 17:21:42

Swing組件

2009-07-17 11:13:46

AWT和SwingSwing組件

2009-07-15 11:02:32

Swing組件

2009-07-10 12:30:12

Swing組件

2009-07-10 13:20:37

Swing容器組件

2009-07-17 16:19:16

Swing核心組件

2009-07-16 16:46:39

Swing窗體

2009-07-10 10:19:57

JFormattedTSwing

2012-01-17 13:16:34

JavaSwing

2009-07-16 11:19:48

外部線程Swing組件

2009-07-10 10:08:59

Spinner ModSwing組件

2009-07-10 14:58:13

JLabel組件JFC和Swing

2009-07-15 10:52:13

JTree組件
點(diǎn)贊
收藏

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