国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Swing入門基礎知識點全接觸

2019-11-18 11:50:02
字體:
來源:轉載
供稿:網友


  1.前言:
  當我們學習過了java中的基本語法,并且熟悉java的面向對象基礎以后,我們就可以開始簡單的Swing程序的設計,用過Vb的朋友可能會被它的簡單的設計用戶界面方法所吸引,只需要拖幾個控件到窗體上,為每個空件編寫event就可以簡單的實現界面設計.但是強大的java也不比vb遜色.同樣可以設計出精美的界面.
  2.Swing概述:
  當java1.0剛剛出現時還沒有swing,當時的GUI基本編程庫,sun取名叫AWT(Abstract Window Tookit),基本AWT庫處理用戶界面 的方法是將這些元素的創建行為交給,底層操作系統的GUI工具箱進行處理,來實現WORA的目的.而因為種種原因,不同的OS之間存在差異,使得AWT界面庫存在許多bug.1996年sun同netscape通力合作創建了新的庫取名Swing.------假如,沒有Swing,java的圖形就面就不名一文.------swing是java的基礎類,是JFC的一部分,完整的JFC是很巨大的.包括的組件也很多.
  3.為什么要選擇Swing: Swing具有更豐富而且更加方便的用戶界面元素集合,
                     Swing對于底層平臺的依靠更少,因此,非凡平臺上的bug會很少Swing會帶來交叉平臺上的統一的視覺體驗
  4.許多初學java的朋友們在學完java的基礎部分后就會感到很茫然,還是對java能干什么不是很了解,所以在初步把握基本的概念后就可以近一步的研究Swing,可以對初學者有一定的提高.下面我們就來初步的研究一個程序,個人覺得是入門Swing的很好的代碼.
     // a simple exmple that can show the basis of swing
  -------------------------------------------------------------------------------------------------------------------------
     // import pakages which we need
  import javax.swing.*;
  import java.awt.*;
  public class HelloCsdn
  {
   public static void main(String[] args)
   {
   HelloCsdnFrame frame=new HelloCsdnFrame();
   frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
   frame.show();
   }
   }
   /** this part we constrUCt a new frame HelloCsdnFrame
   */
  ---------------------------------------------------------------------------------------------------------------------------
  
  class HelloCsdnFrame extends JFrame{
   public HelloCsdnFrame()
   {
   setTitle("Hello CSDN.NET");
   setSize(WIDTH,HEIGHT);
   HelloCsdnPanel panel=new HelloCsdnPanel();
    Container c=getContentPane();
      c.add(panel);
   }
   public static final int WIDTH=300;
   public static final int HEIGHT=200;
  }
      /**this part we extend our HelloCsdnFram to JFrame and construct a new object HelloCsdnPanel and add it on the frame
   /*
  ----------------------------------------------------------------------------------------------------------------------------
  
  class HelloCsdnPanel extends JPanel{
   public void paintComponent(Graphics g){
   super.paintComponent(g);
   g.drawString("Hello CSDN.NET",MESSAGE_X,MESSAGE_Y);
   }
   public static final int MESSAGE_X=100;
   public static final int MESSAGE_Y=100;
  }
      /** A panel that display a message
   */
  ---------------------------------------------------------------------------------------------------------------------------
  我把此程序分為3part.每一部分都有注釋,這一段代碼是做什么用的.一起來分析此程序: 在第一部分
         // import pakages which we need
  import javax.swing.*;
  import java.awt.*;
  public class HelloCsdn
  {
   public static void main(String[] args)
   {
   HelloCsdnFrame frame=new HelloCsdnFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.show();
   }
   }
   /** this part we construct a new frame HelloCsdnFrame
   */
  可以看到我們首先導入了2個包 swing 和 awt,創建了一個object對這個object我們進行實例化, 然后用代碼frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show(); 來實現關閉Frame,但不是結束程序,其中止的只是程序的主線程,第二部分:
      class HelloCsdnFrame extends JFrame{
   public HelloCsdnFrame()
   {
   setTitle("Hello CSDN.NET");
   setSize(WIDTH,HEIGHT);
   HelloCsdnPanel panel=new HelloCsdnPanel();
    Container c=getContentPane();
      c.add(panel);
   }
   public static final int WIDTH=300;
   public static final int HEIGHT=200;
  }
      /**this part we extend our HelloCsdnFram to JFrame and construct a new object HelloCsdnPanel and add it on the frame
   /*
  在此我們把我們建立的object繼續java的JFrame類,使他有JFrame的屬性.行為.然后設置標題和大小,再次建立一個新的objectHelloCsdnPanel 這是因為是在JFrame中實現的所以要建立容器c .把我們建立的panel對象放入container c中.
  第三部分
  class HelloCsdnPanel extends JPanel{
   public void paintComponent(Graphics g){
   super.paintComponent(g);
   g.drawString("Hello CSDN.NET",MESSAGE_X,MESSAGE_Y);
   }
   public static final int MESSAGE_X=100;
   public static final int MESSAGE_Y=100;
  }
      /** A panel that display a message
  */ 繼續我們繼續剛建立的HelloCsdnPanel 到JPanel使我們的對象有JPanel的屬性,然后我們才能調用在frame上輸出字符的方法
   g.drawString
  
  由此程序我們一方面可以很好的看出java的核心思想----繼續關系,另一方面可以看出swing的基本構架是什么.他有幾個層,每個層實現自己的什么功能.
  
  5.自此我們可以看出frame的內部結構:
        ------JFrame(底層)
           
           ---------JRoot
             
              ---------JLayeredPane
                
                 -----------菜單條
                    
                    -----------內容窗格
                       
                        -----------透明窗格(頂層)
  而在這6個層中我們最關系的是菜單條和內容窗格.因為它覺定我們的frame是什么樣的.
  
  總結:可以看出Swing是java很好的表現,怪不得關于Swing的書可以寫成很厚的一本,本章只是教那些初學者,對于java有一個更好的熟悉,不近近是停留在控制臺上的編程.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汪清县| 桃源县| 京山县| 乐陵市| 邳州市| 石城县| 西青区| 获嘉县| 桃江县| 栾川县| 杭州市| 晋江市| 桂阳县| 肥城市| 长汀县| 措勤县| 名山县| 吴堡县| 漳州市| 潞西市| 栖霞市| 梁平县| 教育| 莱州市| 绍兴市| 阿巴嘎旗| 麦盖提县| 安泽县| 广水市| 湘潭县| 宿州市| 富川| 富蕴县| 岳普湖县| 托克托县| 濮阳县| 桐乡市| 香河县| 呼伦贝尔市| 浏阳市| 新泰市|