JavaSwing入門基礎
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的很好的代碼。
我把此程序分為3part.每一部分都有注釋,這一段代碼是做什么用的。 一起來分析此程序:
當我們學習過了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.每一部分都有注釋,這一段代碼是做什么用的。 一起來分析此程序: