---------------siwuxie095
工程名:TestUI
包名:com.siwuxie095.ui
類名:MyFrame.java
工程結構目錄如下:
在 Source 界面和 Design 界面,雙擊類名 MyFrame.java
或 使用快捷鍵 Ctrl+M,可以將當前的工作區放大
「Ctrl+M 是將光標焦點所在的視圖窗口最大化」
在窗體 JFrame 中包含了一個根面板 contentPane(內容面板) ,
所有的控件(組件)元素都將被放置在根面板 contentPane 當中,
JFrame 是當前窗體的頂級元素
JFrame 作為窗體的基本屬性:
縮放大小、最小化、最大化/向下還原、關閉、標題
所有的屬性都是可以通過代碼來控制的
在屬性面板中,點擊 Show events 按鈕,查看當前元素所具有的事件
在屬性面板中,點擊 Goto definition 按鈕,跳轉到元素的定義區域
向根面板 contentPane 添加一個 JButton,則:
在屬性面板中,點擊 Convert local to field 按鈕,將聲明轉移到類中
(此操作可逆,點擊后,按鈕變為 Convert field to local)
「JFrame 並沒有這個選項,contentPane 和 其他的控件(組件)才有」
當某個元素不再被需要,可以點擊該元素,右鍵->Delete,
或 點擊上方的 Delete 按鈕,將它刪除
「注意:JFrame 和 contentPane 不可以刪除,
否則添加元素時會出現 <Unknown position>」
如:刪除剛才添加的 JButton
(1)選中這個按鈕
或
(2)刪除這個按鈕
或
在屬性面板中,點擊 Show advanced properties 按鈕,
顯示當前元素的高級設定(屬性)
打開后,會出現很多之前隱藏的選項,一般情況下,這些選項
都不會被用到
窗體元素 JFrame 的屬性:
Class:
說明是繼承自 javax.swing.JFrame 類。一般情況下,這個值不可以被改動
alwaysOnTop:
讓窗體一直浮於頂端,或 讓窗體最前顯示
autoRequestFocus:
當窗體被創建時,當前窗體會自動獲取屏幕焦點
background:
當前窗體的背景。如果將之改為紅色,發現沒有變化,這是因為
當前窗體的顯示區域是被內容面板 contentPane 所占據的,真正
的窗體的背景就被內容面板擋住,所以要設置當前 "窗體" 的背景,
可以在 contentPane 中進行設定
defaultCloseOperation:
定義了單擊關閉按鈕時程序所執行的動作
(1)DO_NOTHING_ON_CLOSE:在點擊關閉時不執行任何操作
(2)HIDE_ON_CLOSE:在點擊關閉時將當前窗體隱藏,但並沒有被銷毀,可隨時再次顯示
(3)DISPOSE_ON_CLOSE:在點擊關閉時將當前窗體銷毀,但程序並不會退出
(4)EXIT_ON_CLOSE:在點擊關閉時退出程序
enabled:
默認為 true,當為 false 時,最小化、最大化/向下還原、關閉
三個按鈕全部失效,不能被點擊
opacity:
定義當前窗體的透明度,這是一個浮點類型的值,默認為 1.0,
即 當前窗體完全不透明。如果改為 0.8,運行程序,會報錯:
The frame is decorated。即這個窗體帶有了系統自帶的窗體
裝飾,可以到 高級屬性 中將之設定為 undecorated,不使用
系統自帶的窗體裝飾,透明度才可以被改變。一旦將窗體設定
為 undecorated,系統自帶的 最小化 等功能將不再可以使用,
因為這三個按鈕已經消失,需要自己在界面中添加控件(組件)
來實現 最小化 等功能
resizable:
當為 true 時,窗體可以縮放大小,當為 false 時,窗體的大小
被固定,最大化/向下還原 失效,不能被點擊
title:
定義窗體標題
type:
決定窗體在系統中被渲染的模式
(1)NORMAL:正常樣式
(2)UTILITY:工具樣式
(3)POPUP:彈窗樣式
【made by siwuxie095】