1. 程式人生 > >JAVA入門到精通-第29講-滿漢樓Swing介紹

JAVA入門到精通-第29講-滿漢樓Swing介紹

 gui-[goo-e]     佈局管理器:邊界佈局、網格佈局、流式佈局;
JDK出來之後,提出要做介面; AWT裡面提供了好多類,好多介面,可以做圖形介面開發;    把開發的類打包到awt裡面去了; JAVA是跨平臺的,Windows、Linux介面會出現不同,  swing-搖擺,升級完善awt,JFrame;  swing和awt是繼承發展的關係
保證windows/linux介面一樣,但是耗費記憶體;  IBM完善SWT,研發“JFace”;   javax,x表示擴充套件的意思; setSize(寬,高);按照畫素來計算;是密度單位不是長度單位;  設定初始位置:座標;  setLocation(100, 200);  座標體系:     
谷歌上找:
MyEclipse IDE整合開發環境:netbean / MyEclipse / Jbuilder / Jcreator /J2SE      Swing元件是一個控制元件的概念; Text-文字框; Menus-選單; Widgets-小控制元件;按鈕,觸發按鈕,複選框;滑桿; Top-Level Windows -頂層視窗; Sub-windows -子視窗;  類的組裝; 紅色的框,表示JVM虛擬機器正在執行; 關閉視窗的時候,保證JAVA虛擬機器也退出?
jf.setDefaultOperation(JF)   
Button按鈕:        預設情況下JFrame是邊界佈局的,大小通過佈局來控制; 繼承JFrame; 程式設計方法: 1.通過繼承JFrame, 把需要的元件定義; 2.在建構函式中建立元件; 最後設定一些列引數;        

圖形開發

1圖形使用者介面(gui)介紹

圖形使用者介面(Graphics User Interface,GUI)是使用者與程式互動的視窗,比命令列的介面更加直觀並且更好操作。

awt,swing,swt,Jface是什麼?

Sun已經提供了一個跨平臺GUI開發工具包AWT抽象視窗工具箱(Abstract Window Toolkit).

           

Sun又建立了一個新的GUI框架swing.解決了AWT存在的Icd問題.

           

IBM認為swing比較消耗記憶體,建立了一個新的GUI庫,這就是SWT

           

IBM為了方便開發SWT程式,在SWT基礎上又建立了一個更易用,功能強大的圖開包"JFace"

2eclipse開發工具介紹

eclipse是什麼東西,我們用三句話來說明:

1eclipse最早是IBM附屬公司oti開發的,一共投入了4000萬美金,後來捐獻給開源社群

2eclipse是一個開源的、可擴充套件的整合開發環境,已經成為目前最流行的java開發工具

3eclipse安裝後就可以開發java se的專案了,但不能開發java ee專案,需要安裝web開發外掛(lomboz或是myeclipse..)

ide(整合開發環境,比如jcreatorvsmyeclipse這些開發工具都是ide)

3swing元件介紹

1JFrameFrame的子類

2屬於容器類元件,頂層容器

3JFrame有一些常用的方法,通過示例與java的幫助文件即可瞭解。

按鈕元件為什麼有?

在圖形使用者介面程式設計中,我們在窗體中會經常使用到按鈕,我們在進行選擇的時候,常常需要確認,所以按鈕很重要。

按鈕元件怎麼用?

只需要在窗體中新增按鈕元件(JButton)即可完成。

按鈕元件--深入討論

1JButtonAbstractButton的子類

2、屬於視窗類元件,可以加入別的元件

3Swing包的按鈕元件不只有JButton,還有單選按鈕(JRadioButton)、箭頭按鈕(BasicArrowButton)、觸發器按鈕(JToggleButton)..這些按鈕我們在後面講解。

//功能:GUI介面開發演示[Window001.java]

import java.awt.*;//開發圖形要引入java.awt.*

import javax.swing.*;//開發圖形要引入javax.swing.*

public class Window001 extends JFrame{//繼承JFrame頂層容器類(可以新增其它swing元件的類)

    //把需要的swing元件,定義到這裡

    JButton jb1=null;

   

    public static void main(String[] args) {

        Window001 win=new Window001();

    }

    //建構函式

    public Window001(){

        //建立一個button按鈕

        jb1=new JButton("按鈕");

       

        //新增JButton元件

        this.add(jb1);

       

        //給窗體設定標題

        this.setTitle("Hello World!");

       

        //設定窗體大小,按畫素設定大小

        this.setSize(500, 500);

       

        //設定窗體初始位置

        this.setLocation(500, 150);

       

        //設定當關閉視窗時,保證JVM也退出

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

       

        //顯示窗體

        this.setVisible(true);//true顯示,false不顯示

    }

}

   

4、三大常用佈局管理器

佈局管理器--介紹

1、概念

 元件在容器(比如JFrame)中的位置和大小是由佈局管理器來決定的。所有的容器都會

使用一個佈局管理器,通過它來自動進行元件的佈局管理。

2、種類

java共提供了五種佈局管理器流式佈局管理器(FlowLayout)邊界佈局管理器(BorderLayout)網格佈局管理器(GridLayout)卡片佈局管理器(CardLayout)網格包佈局管理器(GridBagLayout)。其中前三種是最常見的佈局管理器。

邊界佈局BorderLayout--介紹

    邊界佈局(BorderLayout)將容器簡單的劃分為東南西北5個區域,中間區域最大。

JFrame窗體,JDialog對話方塊元件預設佈局方法

邊界佈局BorderLayout--使用[Window002.java]

/**

 * 邊界佈局BorderLayout使用演示

 * 1、繼承JFrame

 * 2、定義你需要的各個元件

 * 3、建立元件(在建構函式中元件)

 * 4、新增元件

 * 5、對窗體設定

 * 6、顯示窗體

 */

import java.awt.*;

import javax.swing.*;

public class Window002 extends JFrame{

    //定義元件

    JButton jb1,jb2,jb3,jb4,jb5;

   

    public static void main(String[] args) {

            Window002 win=new Window002();

    }

   

    public Window002(){

        //建立元件

        jb1=new JButton("中部");

        jb2=new JButton("北部");

        jb3=new JButton("東部");

        jb4=new JButton("南部");

        jb5=new JButton("西部");

       

        //新增各個元件

        this.add(jb1, BorderLayout.CENTER);//BorderLayout.CENTER新增到中部

        this.add(jb2, BorderLayout.NORTH);//BorderLayout.NORTH新增到北部

        this.add(jb3, BorderLayout.EAST);//BorderLayout.EAST新增到東部

        this.add(jb4, BorderLayout.SOUTH);//BorderLayout.SOUTH新增到南部

        this.add(jb5, BorderLayout.WEST);//BorderLayout.WEST新增到西部

       

        //設定窗體屬性

        this.setTitle("邊界佈局演示");//窗體標題名稱

        this.setSize(300, 200);//窗體尺寸

        this.setLocation(200, 200);//窗體在螢幕開啟時的初始位置

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗體後將JFrame同時關閉

        //顯示窗體

        this.setVisible(true);

    }

}

 







來自為知筆記(Wiz)