swing 消息對話框

 Swing中彈出對話框的幾種方式_JOptionPane.showMessageDialog等詳解

在swing中,基於業務的考量,會有對話框來限制用戶的行爲及對用戶的動作進行提示.
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+"項目");

發佈了39 篇原創文章 · 獲贊 6 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章