Java-Swing程序設計篇

一、Swing概述

Java的基類(Java Foundation Classes JFC)分別是 Swing、抽象窗口工具包(Abstract Windows Toolkit AWT)、輔助功能API、2D API、和 對拖放功能的增強支持;
Swing 是基於 AWT開發的,所以 AWT是Swing的基礎,AWT是Java語言開發用戶界面程序的基本工具包。Swing提供大多數輕量級組件的組件集
其中 是AWT所缺少的,,另外, Swing還補充一個用於實現包含插入式界面樣式等特性的圖形用戶界面的下層構件,
使得Swing組件 在不同平臺上都能夠 保持組件的界面樣式特性,如雙緩衝、調試圖形等

Swing提供組件幾乎都是輕量級的,少數是重量級的而且是必須的;因爲輕量組件 是繪製在包含它的容器中,而非繪製在自己的窗口中;
由 Swing 提供的小應用 程序、窗體、窗口和對話框 都必須是重量組件,提供40多個組件;

二、JFrame類創建窗體

在開發Java應用程序時,使用的是 JFrame類創建窗體。
窗體包含 一個標題、“最小化”按鈕、“最大化”按鈕、“關閉”按鈕
JFrame類提供一系列用來設置窗體的方法

setTitle(String title) 設置窗體的標題
setBounds(int x,int y,int width,int heigth)設置窗體的現實位置及大小,該方法接收4個int型參數,前兩個設置窗體的顯示位置,依次爲窗體左上角的點在顯示器中的水平和垂直座標,後兩個參數用來設置窗體的大小;
setVisible(Boolean b)設置窗體是否可見,默認爲不可見;
getContentPane.setLayout(null) 設置不採用任何的佈局管理器
setDefaultCloseOperation(int operation) 設置用戶在此框架上啓動“關閉”時默認執行的操作。

JFrame類中方法setDefaultCloseOperation (in operation )的靜態常量表

靜態常量(常量值) 執行操作
HIDE_ON_CLOSE 1 隱藏窗口,爲默認操作
DO_NOTHING_ON_CLOSE 0 不執行任何操作
DISPOSE_ON_CLOSE 2 移除窗口
EXIT_ON_CLOSE 3 退出窗口
程序描述:利用JFrame類創建的窗體分別包含一個標題、“最小化”按鈕、“最大化”按鈕、和“關閉”按鈕
import javax.swing.JFrame; 必要操作 :導入相關類
public class MyFirstFrame extends JFrame { 必要操作 :繼承窗體類 JFrame

	public static void main(String[] args) {
		// TODO 自動生成的方法存根
		MyFirstFrame frame =  new MyFirstFrame();
			 frame.setVisible(true); 		 必要操作 :設置窗體可見,默認不可見
			 //必須 在最後通過 setVisible (boolean b)方法將窗口設置爲可見 
	}
	
	public MyFirstFrame() {  // 構造方法
		super();	 必要操作 :繼承父類構造方法; 反思 ,爲何調用super();?
		setTitle("利用JFrame類創建的窗體");//設置窗體的標題;  setTitle (String title) 
		方法 可以設置窗口標題;
		// setBounds(int x,int y,int width,int height) 方法 使設置窗口顯示位置 及大小
		;接收四個int型參數
		//前兩個 設置 俠士位置 ,水平和垂直座標,後兩個設置 窗體大小
		setBounds(100,100,500,375);	//設置窗體的顯示位置和大小
		getContentPane().setLayout(null);	//設置爲不採用任何佈局管理器;
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設置窗體關閉按鈕的動作爲退出
		// 該方法 的靜態常量參數 HIDE_ON_CLOSE  1 隱藏窗口 ,爲默認操作
		// DO_NOTHING_ON_CLOSE  0  不執行任何操作
		// DISPOSE_ON_CLOSE  2 移除窗口
		// EXIT_ON_CLOSE  3 退出窗口
	}

}

代碼運行截圖:
在這裏插入圖片描述

三、佈局管理器

佈局管理器 負責管理組件在容器中的排列方式。
由Swing提供的組件幾乎都是輕量組件,其中提供的少量重量組件是必須的。因爲輕量組件是繪製在包含它的容器中的,而不是繪製在自己的窗口中,所以,輕量組件最終必須包含在一個重量容器中。因此,有Swing提供的小應用程序、窗體、窗口和對話框都必須是重量組件;
Java是跨平臺的開發語言,雖然Java提供空佈局管理器的支持,但是卻犧牲跨平臺性能;
爲了實現 “一次編寫,到處運行”的目標, 必須使用佈局管理器管理每個容器中組件的佈局,因爲不同的平臺(操作系統或者手機等硬件平臺)顯示組件的策略和方式不同,無法確定不同平臺的組件大小和樣式。

1.1 空佈局管理器

如果 開發的程序只在單一的系統中使用,可以考慮使用

  •    getContentPane().setLayout(null)
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章