Swing中提供了JOptionPane類來實現類似Windows平台下的MessageBox的功能,同樣在Java中也有,利用JOptionPane類中的各個static方法來生成各種標准的對話框,實現顯示出信息、提出問題、警告、用戶輸入參數等功能。這些對話框都是模式對話框。
ConfirmDialog --- 確認對話框,提出問題,然後由用戶自己來確認(按"Yes"或"No"按鈕)
InputDialog --- 提示輸入文本
MessageDialog --- 顯示信息
OptionDialog -- 組合其它三個對話框類型。
這四個對話框可以采用showXXXDialog()來顯示,如showConfirmDialog()顯示確認對話框、showInputDialog()顯示輸入文本對話框、showMessageDialog()顯示信息對話框、showOptionDialog()顯示選擇性的對話框。它們所使用的參數說明如下:
① ParentComponent:指示對話框的父窗口對象,一般為當前窗口。也可以為null即采用缺省的Frame作為父窗口,此時對話框將設置在屏幕的正中。
② message:指示要在對話框內顯示的描述性的文字
③ String title:標題條文字串。
④ Component:在對話框內要顯示的組件(如按鈕)
⑤ Icon:在對話框內要顯示的圖標
⑥ messageType:一般可以為如下的值ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE、PLAIN_MESSAGE、
⑦ optionType:它決定在對話框的底部所要顯示的按鈕選項。一般可以為DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION、OK_CANCEL_OPTION。
使用實例:
(1) 顯示MessageDialog
JOptionPane.showMessageDialog(null, "在對話框內顯示的描述性的文字", "標題條文字串", JOptionPane.ERROR_MESSAGE);
(2) 顯示ConfirmDialog
JOptionPane.showConfirmDialog(null, "choose one", "choose one", JOptionPane.YES_NO_OPTION);
(3) 顯示OptionDialog:該種對話框可以由用戶自己來設置各個按鈕的個數並返回用戶點擊各個按鈕的序號(從0開始計數)
Object[] options = {"確定","取消","幫助"};
int response=JOptionPane.showOptionDialog(this, "這是個選項對話框,用戶可以選擇自己的按鈕的個數", "選項對話框標題",JOptionPane.YES_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
if(response==0)
{
this.setTitle("您按下了第OK按鈕 ");
}
else if(response==1)
{
this.setTitle("您按下了第Cancel按鈕 ");
}
else if(response==2)
{
this.setTitle("您按下了第Help按鈕 ");
}
(4) 顯示InputDialog 以便讓用戶進行輸入
String inputValue = JOptionPane.showInputDialog("Please input a value");
(5) 顯示InputDialog 以便讓用戶進行選擇地輸入
Object[] possibleValues = { "First", "Second", "Third" }; //用戶的選擇項目
Object selectedValue = JOptionPane.showInputDialog(null, "Choose one", "Input",JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
setTitle("您按下了"+(String)selectedValue+"項目");