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

淺談Swing入門學(xué)習(xí)

開發(fā) 后端
本文簡(jiǎn)單介紹Swing入門學(xué)習(xí),以及介紹每個(gè)空件編寫event就可以簡(jiǎn)單的實(shí)現(xiàn)界面設(shè)計(jì).但是強(qiáng)大的java也不比vb遜?同樣可以設(shè)計(jì)出精美的界面。

1.Swing入門前言:
當(dāng)我們學(xué)習(xí)過(guò)了java中的基本語(yǔ)法,并且熟悉java的面向?qū)ο蠡A(chǔ)以后,我們就可以開始簡(jiǎn)單的Swing程序的設(shè)計(jì),用過(guò)Vb的朋友可能會(huì)被它的簡(jiǎn)單的設(shè)計(jì)用戶界面方法所吸引,只需要拖幾個(gè)控件到窗體上,為每個(gè)空件編寫event就可以簡(jiǎn)單的實(shí)現(xiàn)界面設(shè)計(jì).但是強(qiáng)大的java也不比vb遜?同樣可以設(shè)計(jì)出精美的界面。

2.Swing入門概述:

當(dāng)java1.0剛剛出現(xiàn)時(shí)還沒有swing,當(dāng)時(shí)的GUI基本編程庫(kù),sun取名叫AWT(Abstract Window Tookit),基本AWT庫(kù)處理用戶界面的方法是將這些元素的創(chuàng)建行為交給,底層操作系統(tǒng)的GUI工具箱進(jìn)行處理,來(lái)實(shí)現(xiàn)WORA的目的。而因?yàn)榉N種原因,不同的OS之間存在差異,使得AWT界面庫(kù)存在許多bug。1996年sun同netscape通力合作創(chuàng)建了新的庫(kù)取名Swing。

------如果,沒有Swing,java的圖形界面就不名一文.------
swing是java的基礎(chǔ)類,是JFC的一部分,完整的JFC是很巨大的,包括的組件也很多。

3.為什么要選擇Swing: Swing具有更豐富而且更加方便的用戶界面元素集合,Swing對(duì)于底層平臺(tái)的依賴更少,因此,特殊平臺(tái)上的bug會(huì)很少Swing會(huì)帶來(lái)交叉平臺(tái)上的統(tǒng)一的視覺體驗(yàn)

4.許多初學(xué)java的朋友們?cè)趯W(xué)完java的基礎(chǔ)部分后就會(huì)感到很茫然,還是對(duì)java能干什么不是很了解,所以在初步掌握基本的概念后就可以近一步的研究Swing,可以對(duì)初學(xué)者有一定的提高。

下面我們就來(lái)初步的研究一個(gè)程序,個(gè)人覺得是Swing入門的很好的代碼。

  1. // a simple exmple that can show the basis of swing  
  2. // import pakages which we need  
  3. import javax.swing.*;  
  4. import java.awt.*;  
  5. public class HelloCsdn  
  6. {  
  7. public static void main(String[] args)  
  8. {  
  9. HelloCsdnFrame frame=new HelloCsdnFrame();  
  10. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  11. frame.show();  
  12. }  
  13. }  
  14. /** this part we construct a new frame HelloCsdnFrame  
  15. */  
  16.  
  17. class HelloCsdnFrame extends JFrame{  
  18. public HelloCsdnFrame()  
  19. {  
  20. setTitle("Hello CSDN.NET");  
  21. setSize(WIDTH,HEIGHT);  
  22. HelloCsdnPanel panel=new HelloCsdnPanel();  
  23. Container c=getContentPane();  
  24. c.add(panel);  
  25. }  
  26. public static final int WIDTH=300;  
  27. public static final int HEIGHT=200;  
  28. }  
  29. /**this part we extend our HelloCsdnFram to JFrame and  
  30. construct a new object HelloCsdnPanel and add it on the frame  
  31. /*  
  32. class HelloCsdnPanel extends JPanel{  
  33. public void paintComponent(Graphics g){  
  34. super.paintComponent(g);  
  35. g.drawString("Hello CSDN.NET",MESSAGE_X,MESSAGE_Y);  
  36. }  
  37. public static final int MESSAGE_X=100;  
  38. public static final int MESSAGE_Y=100;  
  39. }  
  40. /** A panel that display a message  
  41. */ 

我把此程序分為3part.每一部分都有注釋,這一段代碼是做什么用的。

一起來(lái)分析此程序:在***部分

  1. // import pakages which we need  
  2. import javax.swing.*;  
  3. import java.awt.*;  
  4. public class HelloCsdn  
  5. {  
  6. public static void main(String[] args)  
  7. {  
  8. HelloCsdnFrame frame=new HelloCsdnFrame();  
  9. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  10. frame.show();  
  11. }  
  12. }  
  13. /** this part we construct a new frame HelloCsdnFrame  
  14. */ 

可以看到我們首先導(dǎo)入了2個(gè)包 swing 和 awt,創(chuàng)建了一個(gè)object對(duì)這個(gè)object我們進(jìn)行實(shí)例化, 然后用代碼

  1.  
  2. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  3. frame.show(); 來(lái)實(shí)現(xiàn)關(guān)閉Frame,但不是結(jié)束程序,其中止的只是程序的主線程, 

第二部分:

  1. class HelloCsdnFrame extends JFrame{  
  2. public HelloCsdnFrame()  
  3. {  
  4. setTitle("Hello CSDN.NET");  
  5. setSize(WIDTH,HEIGHT);  
  6. HelloCsdnPanel panel=new HelloCsdnPanel();  
  7. Container c=getContentPane();  
  8. c.add(panel);  
  9. }  
  10. public static final int WIDTH=300;  
  11. public static final int HEIGHT=200;  
  12. }  
  13. /**this part we extend our HelloCsdnFram to JFrame and  
  14. construct a new object HelloCsdnPanel and add it on the frame  
  15. /* 

在此我們把我們建立的object繼承java的JFrame類,使他有JFrame的屬性.行為.然后設(shè)置標(biāo)題和大小,再次建立一個(gè)新的object HelloCsdnPanel 這是因?yàn)槭窃贘Frame中實(shí)現(xiàn)的所以要建立容器c .把我們建立的panel對(duì)象放入containerc中。

第三部分

  1. class HelloCsdnPanel extends JPanel{  
  2. public void paintComponent(Graphics g){  
  3. super.paintComponent(g);  
  4. g.drawString("Hello CSDN.NET",MESSAGE_X,MESSAGE_Y);  
  5. }  
  6. public static final int MESSAGE_X=100;  
  7. public static final int MESSAGE_Y=100;  
  8. }  
  9. /** A panel that display a message  
  10. */ 繼續(xù)我們繼承剛建立的HelloCsdnPanel  

到JPanel使我們的對(duì)象有JPanel的屬性,然后我們才能調(diào)用在frame上輸出字符的方法g.drawString 由此程序我們一方面可以很好的看出java的核心思想----繼承關(guān)系,另一方面可以看出swing的基本構(gòu)架是什么。

【編輯推薦】

  1. 淺談Swing中的Look&Feel
  2. Swing組件大全隨著Java風(fēng)潮一起來(lái)席卷國(guó)內(nèi)
  3. 全面比較Swing與SWT
  4. Swing程序中調(diào)用JavaFX代碼
  5. SWT和Swing代碼的區(qū)別
責(zé)任編輯:佚名 來(lái)源: csdn
相關(guān)推薦

2009-07-15 13:06:38

Swing組件

2009-07-16 16:01:55

EventQueue

2009-06-30 17:28:08

JSP學(xué)習(xí)

2009-07-15 14:29:24

構(gòu)造JListSwing

2009-07-17 12:44:01

NetBeans開發(fā)S

2009-07-16 12:58:50

Swing控件

2009-07-10 17:20:38

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

2009-07-10 11:07:18

Swing和SWT

2011-06-28 14:02:34

QT ARM

2009-07-17 16:49:18

lookandfeelSwing

2009-07-10 13:09:53

.Net與Java S

2009-07-16 16:23:59

Swing線程

2009-07-15 09:59:11

Metal觀感Swing

2009-07-14 14:50:00

JOptionPane

2009-06-26 17:34:29

Spring入門

2009-07-14 11:08:42

WebRendererSwing應(yīng)用程序

2009-07-14 17:01:29

Look&FeelSwing

2009-07-15 16:29:41

Swing繪畫

2009-07-15 15:35:59

Swing程序Swing性能

2009-07-10 11:31:45

Swing支持透明和不規(guī)則窗口
點(diǎn)贊
收藏

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