當前位置:才華齋>計算機>java語言>

Java對話方塊學習教程

java語言 閱讀(8.98K)

引導語:從本質上講,對話方塊時一種特殊的窗體,以下是本站小編分享給大家的Java對話方塊學習教程,希望大家喜歡!

Java對話方塊學習教程

 1.1 對話方塊

但有時候我們需要彈出獨立的對話方塊以顯示資訊或者從使用者收集資訊。對話方塊,顧名思義,就是向用戶顯示資訊並獲取程式繼續執行所需資料的視窗,可以起到與使用者互動的作用。從本質上講,對話方塊時一種特殊的窗體,它通過一個或多個元件與使用者互動。與JFrame一樣,對話方塊有邊框、有標題且獨立存在的容器,並且不能被其他容器所包容,但是對話方塊不能作為程式的最外層容器,也不能保護選單欄。此外,java中的對話方塊上沒有最大、最小化按鈕。

 1.1.1 JOptionPane 選項對話方塊

JOptionPane提供了許多對話方塊樣式,該類能夠讓你在不編寫任何專門對話方塊程式碼的情況下彈出一個簡單的對話方塊。

JOptionPane類提供了7個構造方法用於建立JOptionPane的類物件,不過在實際使用時,

通常不是用new方式建立,而是使用JOptionPane類提供的一些靜態方法產生。JOptionPane有四個靜態方法來顯示這些簡單對話方塊:

(1)showMessageDialog:提示資訊對話方塊,這種對話方塊通常只含有一個“確定”按鈕。

(2)showConfirmDialog :確認對話方塊,這類對話方塊通常會詢問使用者一個問題,要求使用者做YES/NO的回答。

(3)showOptionDialog:選擇對話方塊,這類對話方塊可以讓使用者自己定義對話方塊的型別。

(4)showInputDialog:輸入對話方塊,這類對話方塊可以讓使用者輸入相關的資訊,當用戶完成輸入並按下確定按鈕後,系統會得到使用者所輸入的資訊。

對於每種形式的對話方塊都有多個靜態過載方法,下面分別予以說明。

1. Message Dialog

Message Dialog稱為提示資訊對話方塊,這種對話方塊中通常只含有一個“確定”按鈕。可以使用showMessage Dialog靜態方法來顯示一個Message Dialog,showMessageDialog方法具有如下過載形式。

·showMessageDialog(Component parentComponent, Object message)

·showMessageDialog(Component parentComponent, Object message, String title, int messageType)

·showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon)

各引數的含義如下:

parentComponent - 確定在其中顯示對話方塊的 Frame;如果為 null 或者其不具有 Frame,則使用預設的 Frame

message - 要顯示的 Object

title - 對話方塊的標題字串

messageType - 要顯示的訊息型別,int列舉型別:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE,這5個值都是JOptionPane的靜態資料成員,可直接使用JOptionPane加“.”的方式使用,5個訊息型別的顯示效果如下表

icon - 要在對話方塊中顯示的圖示,該圖示是使用者自定義的圖示,如果顯示該圖示,則不會再顯示messageType指定的訊息型別的系統圖標。一般不需要使用,除非使用者有特定需求。

showMessageDialog方法無返回值,Message Dialog只是告知使用者某些資訊,使用者除了點選確定按鈕外不能與其進行互動。

對應語句:

MessageDialog(null, "這是一個訊息對話方塊嗎?","對話方塊title",TION_MESSAGE,null);

irmDialog

Confirm Dialog稱為確認對話方塊,這類對話方塊通常會詢問使用者一個問題,要求使用者作出YES/NO的回答。可以使用showConfirmDialog靜態方法來顯示一個Confirm Dialog,showConfirmDialog方法具有如下過載形式。

showConfirmDialog(Component parentComponent, Object message)

showConfirmDialog(Component parentComponent, Object message, String title, int optionType)

showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType)

showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon)

showConfirmDialog方法中有1個引數,其中5個與showMessageDialog的引數相同,含義也一樣,這裡不再重複說明,showConfirmDialog方法中新增一個引數optionType,該引數的含義如下:

optionType—指定可用於對話方塊的選項的 int:YES_NO_OPTION、YES_NO_CANCEL_OPTION 或 OK_CANCEL_OPTION,具體的顯示效果見下表

showConfirmDialog的返回值為int型別。其中YES,OK=0;NO=1;CANCEL=2;CLOSED=-1(使用者直接點選關閉按鈕關閉對話方塊)。通過對返回值的判斷,可以做到與使用者之間的互動(如使用者是按下了確定按鈕 還是取消按鈕,根據按下按鈕的不同做不同的處理)

對應語句:ConfirmDialog(null, "你確認這是一個確認對話方塊嗎?","對話方塊title",_NO_OPTION);

t Dialog

Input Dialog稱為輸入對話方塊,這類對話方塊可以讓使用者輸入相關的資訊,當用戶完成輸入並按下確定按鈕後,系統會得到使用者所輸入的.資訊。輸入對話方塊不見可以讓使用者自行輸入資料,也可以提供ComboBox元件讓使用者選擇相關資訊,避免使用者輸入錯誤。可以使用showInputDialog靜態方法來顯示一個Input Dialog,showInputDialog方法具有如下過載形式。

showInputDialog(Object message)

showInputDialog(Object message, Object initialSelectionValue)

showInputDialog(Component parentComponent, Object message)

showInputDialog(Component parentComponent,Object message, Object initialSelectionValue)

showInputDialog(Component parentComponent, Object message, String title, int messageType)

showInputDialog(Component parentComponent, Object message, String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue)

showInputDialog方法中有7個引數,其中5個與showMessageDialog的引數相同,含義也一樣,這裡不再重複說明,showInputDialog方法中新增兩個引數,selectionValues 和initialSelectionValue,含義如下:

selectionValues—使用者可能的選擇值,以陣列方式賦值,顯示形式為ComboBox。

initialSelectionValue—對話方塊初始化時輸入框中的顯示值。

showInputDialog方法的返回值有兩種:String型別和Object型別,當用戶按下確定按鈕時會返回使用者輸入(或選擇)的資訊,若按下取消按鈕則會返回null。