java GUI之基本圖形

來源:互聯網
上載者:User

標籤:

1.為了支援圖形化使用者介面程式設計,java1.0的標準類庫中包含一個抽象視窗工具箱(Abstract Window Toolkit,AWT).

這個工具箱極不成熟,其編程模型也不是物件導向的,有很大的局限性.為此,java1.2最終決定放棄AWT中的GUI,而是添加了一個Swing庫.

Swing組件不僅可以完全替代AWT組件,而且提供了更多的複雜組件.

必須注意GUI程式設計是,不能混用AWT組件和Swing組件(例如不能將javax.swing.JList添加到java.awt.Frame中).所用Swing組件的類名以字母J開頭,以區別AWT組件.

注意:Swing是基於AWT架構之上的,它沒有完全替代AWT.

建立架構:

 1 import java.awt.Container; 2  3 import javax.swing.JButton; 4 import javax.swing.JFrame; 5  6 public class FrameDmo { 7     public static void main(String[] args) { 8         JFrame frame = new JFrame("測試JFrame");         9         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//架構關閉時結束運行10         frame.setSize(500, 300);//設定架構大小11         frame.setVisible(true);//顯示架構12     }13 }

setDefaultCloseOperation()告訴程式關閉當前架構時應該做什麼.JFrame.Exit_ON_CLOSE就是告訴程式關閉程式是結束運行.否則關閉架構後,程式沒有結束運行.

 

建立架構後,就可以添加組件了

 1 import java.awt.Container; 2  3 import javax.swing.JButton; 4 import javax.swing.JFrame; 5  6 public class FrameDmo { 7     public static void main(String[] args) { 8         JFrame frame = new JFrame("測試JFrame"); 9         JButton button=new JButton("按鈕");10         //取得架構的內容窗格11         Container container=frame.getContentPane();12         //將架構添加到架構的內容窗格中13         container.add(button);14         //架構關閉時結束運行15         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);16         //設定架構大小17         frame.setSize(500, 300);18         //顯示架構19         frame.setVisible(true);20     }21 }

 

java SE5之前,如果要將某個組件添加到架構中,必須首先調用類JFrame中的getContentPane取得架構的內容窗格,

然後通過該內容窗格調用方法add將組件添加到內容窗格中.例如上面的例子.

內容窗格委託.

 1 import javax.swing.JButton; 2 import javax.swing.JFrame; 3  4 public class FrameWithButton1 extends JFrame { 5     public FrameWithButton1(){ 6         JButton button=new JButton("按鈕"); 7         add(button);//javaSE5之後採用 8     } 9     public static void main(String[] args) {10         FrameWithButton1 frame=new FrameWithButton1();11         frame.setTitle("將一個按鈕添加到架構中");12         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);13         frame.setSize(500,300);14         frame.setVisible(true);15     }16 }

需要將組件添加到其內容窗格的容器有JFrame,JDialog,JApplet,JInternalFrame,jWindow.

java GUI之基本圖形

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.