java中JOptionPane類的四種對話框簡單應用

JOptionPane類



1、屬於javax.swing 包。

2、功能:定製四種不同種類的標準對話框。
ConfirmDialog 確認對話框。提出問題,然後由用戶自己來確認(按"Yes"或"No"按鈕)
InputDialog 提示輸入文本
MessageDialog 顯示信息
OptionDialog 組合其它三個對話框類型。

3、這四個對話框可以採用showXXXDialog()來顯示。如:
showConfirmDialog() 顯示確認對話框、
showInputDialog() 顯示輸入文本對話框、
showMessageDialog() 顯示信息對話框、

showOptionDialog() 顯示選擇性的對話框。

補充:上面的四種對話框還有相應的內部對話框

showInternalConfirmDialog()

showInternalInputDialog()

showInternalMessageDialog()

showInternalOptionDialog()這四種對話框的顯示的時候ParentComponent不可設置爲null,否則會拋出異常的!



4、基本參數說明。  

想要顯示上面幾種對話框,只要知道這幾種對話框對應的show函數中各個參數(下面幾種基本參數和各個對話框的特殊參數)的用途就可以顯示出一個你需要的對話框!!!


(1)ParentComponent:指示對話框的父窗口對象,一般爲當前窗口。

也可以爲null即採用缺省的Frame作爲父窗口,此時對話框將設置在屏幕的正中。


 (2)message:指示要在對話框內顯示的描述性的文字
 (3)String title:標題條文字串。
 (4)Component:在對話框內要顯示的組件(如按鈕)
 (5)Icon:在對話框內要顯示的圖標
 (6)messageType(圖標):
ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、

QUESTION_MESSAGE、PLAIN_MESSAGE、

記不住?你有沒有發現其實都是JoptionPlan.xxxMessage,所以我們可以利用IDEA的智能提示打個JoptionPlan.Message就可以了。如圖:



 (7)optionType:對話框底部顯示的按鈕選項。

DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION、OK_CANCEL_OPTION。

記不住?看上面!



5、使用實例:

(1) 顯示MessageDialog

無特殊參數。


JOptionPane.showMessageDialog( null , "要顯示的信息內容" ,"標題" , JOptionPane.ERROR_MESSAGE) ;





(2) 顯示ConfirmDialog

無特殊參數


JOptionPane.showConfirmDialog( null , "message" , "標題", OptionPane.YES_NO_OPTION ) ;





(3) 顯示OptionDialog:

特殊參數:object[] options ; object initialValue.在optionDialog中前面基本參數中的optionType已經成了一個擺設。因爲option按鈕已經不由它決定了,而是由object[]決定。initialValue決定了default option。同時該對話框的show函數無重載只有一個。


該種對話框可以由用戶自己來設置各個按鈕的個數並返回用戶點擊各個按鈕的序號( 從0開始 計數)
Object[] options = {"查詢","存款","取款","退出"};
int response=JOptionPane.showOptionDialog ( null, " 選擇業務類型","ATM 取款機",JOptionPane.YES_OPTION ,JOptionPane.PLAIN_MESSAGE,
null, options, options[0] ) ;

if (response == 0)
{JOptionPane.showMessageDialog(null,"您按下了查詢按鈕");}
else if(response == 1)
{JOptionPane.showMessageDialog(null,"您按下了存款按鈕");}
else if(response == 2)
{JOptionPane.showMessageDialog(null,"您按下了取款按鈕");}
else if(response == 3)

{JOptionPane.showMessageDialog(null,"您按下了退出按鈕");}


(4)顯示InputDialog



(4.1) 顯示InputDialog 以便讓用戶進行輸入


String inputValue = JOptionPane.showInputDialog("Please input a value");

(4.2) 顯示InputDialog 以便讓用戶進行選擇地輸入
Object[] possibleValues = { "First", "Second", "Third" } ;
//用戶的選擇項目
Object selectedValue = JOptionPane.showInputDialog(null,
"Choose one", "Input", JOptionPane.INFORMATION_MESSAGE ,
null, possibleValues , possibleValues[0]);
setTitle (" 您按下了 " + (String)selectedValue+"項目") ;}