偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

介紹AWT和Swing組件

開發(fā) 后端
本文介紹AWT和Swing組件,隨著計(jì)算機(jī)硬件的升級,一點(diǎn)點(diǎn)速度已經(jīng)不是問題。相反的,用戶更需要美觀的用戶界面,開發(fā)人員則更需要易用的開發(fā)組件。

AWT和Swing 是 Java 設(shè)計(jì) GUI 用戶界面的基礎(chǔ)。與 AWT 的重量級組件不同,Swing 中大部分是輕量級組件。正是這個(gè)原因,Swing 幾乎無所不能,不但有各式各樣先進(jìn)的組件,而且更為美觀易用。所以一開始使用 AWT 的程序員很快就轉(zhuǎn)向使用 Swing 了。
 
那為什么 AWT 組件沒有消亡呢?因?yàn)?Swing 是架構(gòu)在 AWT 之上的,沒有 AWT 就沒有 Swing。所以程序員可以根據(jù)自己的習(xí)慣選擇使用 AWT 或者是 Swing。但是,最好不要二者混用——除開顯示風(fēng)格不同不說,還很可能造成層次 (Z-Order) 錯(cuò)亂,比如下例:

  1. importjava.awt.BorderLayout;  
  2. importjava.awt.Button;  
  3.  
  4. importjavax.swing.JButton;  
  5. importjavax.swing.JDesktopPane;  
  6. importjavax.swing.JFrame;  
  7. importjavax.swing.JInternalFrame;  
  8. importjavax.swing.JPanel;  
  9.  
  10. publicfinalclassAwtSwing...{  
  11.  
  12. publicstaticvoidmain(String[]args)...{  
  13. AwtSwingas=newAwtSwing();  
  14. as.show();  
  15. }  
  16.  
  17. JFrameframe=newJFrame("TestAWTandSWING");  
  18.  
  19. JDesktopPanejdp=newJDesktopPane();  
  20.  
  21. JInternalFramejif1=newJInternalFrame("controls");  
  22.  
  23. JInternalFramejif2=newJInternalFrame("cover");  
  24.  
  25. publicAwtSwing()...{  
  26. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  27. frame.getContentPane().add(jdp);  
  28.  
  29. jif1.setContentPane(newJPanel());  
  30. jif2.setContentPane(newJPanel());  
  31.  
  32. jif1.getContentPane().setLayout(newBorderLayout());  
  33. jif1.getContentPane().add(newButton("AWTButton"),BorderLayout.WEST);  
  34. jif1.getContentPane().add(newJButton("SwingButton"),  
  35. BorderLayout.EAST);  
  36.  
  37. jif1.setSize(200,100);  
  38. jif2.setSize(200,100);  
  39.  
  40. jdp.add(jif1);  
  41. jdp.add(jif2);  
  42.  
  43. frame.setSize(240,140);  
  44. }  
  45.  
  46. publicvoidshow()...{  
  47. frame.setVisible(true);  
  48. jif1.setVisible(true);  
  49. jif2.setVisible(true);  
  50. }  
  51.  

運(yùn)行這個(gè)程序,并用鼠標(biāo)拖動(dòng)那個(gè)名為“cover”的子窗口,我們會發(fā)現(xiàn)一個(gè)非常有趣的現(xiàn)象,如圖:

Swing Button 是“畫”上去的


顯然 cover 子窗口是在 controls 子窗口之上的,但是它只罩蓋住了 Swing Button,沒有罩蓋住 AWT Button。再看一會兒,你是不是有這樣一種感覺:Swing Button 是“畫”上去的,而 AWT Button 則是“貼”上去的。這就是二者混用造成層次錯(cuò)亂的一個(gè)例子。
 
Swing組件有美觀、易用、組件量大等特點(diǎn),也有缺點(diǎn)——使用 Swing組件的程序通常會比使用 AWT 組件的程序運(yùn)行更慢。但是大家都還是更喜歡用 Swing組件,原因何在?因?yàn)殡S著計(jì)算機(jī)硬件的升級,一點(diǎn)點(diǎn)速度已經(jīng)不是問題。相反的,用戶更需要美觀的用戶界面,開發(fā)人員則更需要易用的開發(fā)組件。

【編輯推薦】

  1. Swing應(yīng)用程序處理函數(shù)
  2. 淺談SwingWorker的使用
  3. AWT,SWT和Swing的布局管理器與Look And Feel機(jī)制
  4. 概述SWT采用AWT和Swing的一些優(yōu)點(diǎn)
  5. Swing組件的paint方法的處理流程
責(zé)任編輯:佚名 來源: 中國IT實(shí)驗(yàn)室
相關(guān)推薦

2009-07-10 17:03:17

AWT組件Swing組件

2009-07-17 15:30:30

JFaceAWT和SWTSwing

2009-07-10 15:41:27

Swing AWT

2009-07-10 17:20:38

Swing構(gòu)件AWT構(gòu)件

2009-07-14 15:01:02

AWT和Swing

2009-07-16 13:37:33

Swing和AWT

2009-07-15 16:39:51

AWT和Swing

2009-07-17 09:36:14

SWT和Swing的區(qū)

2009-07-17 10:11:55

AWT和Swing

2009-07-16 13:50:28

AWT和Swing

2009-07-17 09:07:20

2009-07-10 18:06:59

JTree Swing

2009-07-17 10:01:14

Swing和AWT

2009-07-14 12:58:49

AWT和Swing

2009-07-17 14:38:51

輕量級Swing組件

2009-07-14 15:12:36

SwingSWT和AWT

2009-07-14 13:49:28

Swing組件AWT

2009-07-17 09:55:02

事件監(jiān)聽器SWT和SwingAWT

2009-07-17 10:25:41

AWT和SwingSWT

2009-07-15 13:31:51

Swing菜單和菜單項(xiàng)
點(diǎn)贊
收藏

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