程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> GUI——AWT框架和容器,創建簡單窗體,guiawt框架窗體

GUI——AWT框架和容器,創建簡單窗體,guiawt框架窗體

編輯:JAVA綜合教程

GUI——AWT框架和容器,創建簡單窗體,guiawt框架窗體


GUI概述:GUI(Graphical User Interface)—圖形化用戶界面。用戶和程序之間可以通過GUI能方便友好地進行交互,在Java語言中,JFC(Java Foundation Classed)是開發GUI的API集,它主要包含以下幾個部分:

a)   AWT(抽象窗口工具包):Java開發用戶界面最初的工具包,是建立JFC的主要基礎;

b)   Swing組件:建立在AWT之上,新的,功能更強大的圖形組件包;

c)   JAVA 2D:實現高質量的二維圖形;

 

AWT框架:

①   在java.awt包中包含了一個完整的類集以支持GUI程序的設計,其中的類及相互關系可以用下圖來描述:

②   Component類是最核心的類,它是構成Java圖形用戶界面的基礎,大部分組件都是由該類派生出來的;

③   Component類主要由基本組件和容器(Container)組件組成;

④   容器(Container)組件主要分為:Window容器和Panel容器;

 

Frame容器:

①   Window是能獨立存在的容器,它有一個子類Frame,它是一個帶有標題和縮放角的窗口;

②   Frame有一個構造方法,Frame(String title);

③   可以通過add()方法,在Frame容器中加入其它組件;

④   Frame容器有默認的布局管理器;

⑤   Frame被創建後,是不可見的;

 

Panel容器:

①   Panel只能存在於其它的容器(Window或其子類)中才能顯示出來;

②   通過Panel的默認構造方法Panel()可以創建一個Panel;

③   容器不但能容納組件,還能容納其它容器,通過容器的嵌套可以制作出復雜的布局;

 

創建一個窗體類

 1 class MyFrame1 extends Frame{
 2     public MyFrame1(String title){
 3         super(title);
 4     }
 5     
 6     public void init(){
 7         this.setSize(300, 300);//設置窗體的寬高
 8         this.setBackground(Color.GREEN);//給窗體設置背景色
 9         this.setVisible(true);//設置窗體可見
10     }
11 }

主方法調用

 1 MyFrame1 myFrame1=new MyFrame1("自己的窗體"); 2 myFrame1.init(); 

輸出結果如圖:

創建一個帶Panel和Button的窗體:

 1 class MyFrame2 extends Frame{
 2     public MyFrame2(String title){
 3         super(title);
 4     }
 5     
 6     public void init(){
 7         this.setSize(300, 300);//設置窗體的寬高
 8         this.setBackground(Color.GREEN);//給窗體設置背景色
 9         this.setLayout(null);//去掉窗體的默認的布局管理器
10         
11         Panel panel=new Panel();
12         panel.setLayout(null);//去掉Panel容器默認的布局管理器
13         panel.setBackground(Color.BLUE);
14         panel.setBounds(0, 0, 200, 200);//距離父容器(Frame)上頂點,左頂點0,寬高200
15         
16         Button btn1=new Button("click me");//創建一個按鈕
17         btn1.setBounds(0, 0, 100, 100);
18         btn1.setBackground(Color.RED);
19         
20         panel.add(btn1);//添加按鈕到面板中
21         
22         this.add(panel);//把panel加到窗體中
23         
24         this.setVisible(true);//讓窗體可見
25     }
26 }

輸出結果如圖:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved