圖形開發
圖形用戶界面(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"
2、eclipse開發工具介紹
eclipse是什麼東西,咱們用三句話來講明:
1、eclipse最先是IBM附屬公司oti開發的,一共投入了4000萬美金,後來捐獻給開源社區
2、eclipse是一個開源的、可擴展的集成開發環境,已經成爲目前最流行的java開發工具
3、eclipse安裝後就能夠開發java se的項目了,但不能開發java ee項目,須要安裝web開發插件(lomboz或是myeclipse..)
ide(集成開發環境,好比jcreator、vs、myeclipse這些開發工具都是ide)
3、swing組件介紹
1、JFrame是Frame的子類
2、屬於容器類組件,頂層容器
3、JFrame有一些經常使用的方法,經過示例與java的幫助文檔便可瞭解。
按鈕組件爲何有?
在圖形用戶界面編程中,咱們在窗體中會常常使用到按鈕,咱們在進行選擇的時候,經常須要確認,因此按鈕很重要。
按鈕組件怎麼用?
只須要在窗體中添加按鈕組件(JButton)便可完成。
按鈕組件--深刻討論
1、JButton是AbstractButton的子類
2、屬於窗口類組件,能夠加入別的組件
3、Swing包的按鈕組件不僅有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);
}
}