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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺談Swing入門學習

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

2.Swing入門概述:

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

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

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

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

下面我們就來初步的研究一個程序,個人覺得是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. class HelloCsdnFrame extends JFrame{
  17. public HelloCsdnFrame()
  18. {
  19. setTitle("Hello CSDN.NET");
  20. setSize(WIDTH,HEIGHT);
  21. HelloCsdnPanel panel=new HelloCsdnPanel();
  22. Container c=getContentPane();
  23. c.add(panel);
  24. }
  25. public static final int WIDTH=300;
  26. public static final int HEIGHT=200;
  27. }
  28. /**this part we extend our HelloCsdnFram to JFrame and
  29. construct a new object HelloCsdnPanel and add it on the frame
  30. /*
  31. class HelloCsdnPanel extends JPanel{
  32. public void paintComponent(Graphics g){
  33. super.paintComponent(g);
  34. g.drawString("Hello CSDN.NET",MESSAGE_X,MESSAGE_Y);
  35. }
  36. public static final int MESSAGE_X=100;
  37. public static final int MESSAGE_Y=100;
  38. }
  39. /** A panel that display a message
  40. */

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

一起來分析此程序:在***部分

 
 
 
  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. */

可以看到我們首先導入了2個包 swing 和 awt,創(chuàng)建了一個object對這個object我們進行實例化, 然后用代碼

 
 
 
  1. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  2. frame.show(); 來實現(xiàn)關閉Frame,但不是結束程序,其中止的只是程序的主線程,

第二部分:

 
 
 
  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的屬性.行為.然后設置標題和大小,再次建立一個新的object HelloCsdnPanel 這是因為是在JFrame中實現(xiàn)的所以要建立容器c .把我們建立的panel對象放入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使我們的對象有JPanel的屬性,然后我們才能調(diào)用在frame上輸出字符的方法g.drawString 由此程序我們一方面可以很好的看出java的核心思想----繼承關系,另一方面可以看出swing的基本構架是什么。


分享題目:淺談Swing入門學習
本文地址:http://m.5511xx.com/article/ccsodsd.html