swing作為基礎的圖形化顯示界面開發,還是新手小難上手的一個項目學習,當然做好了之后的數據流轉是對編程架構的很大提高。
這里我介紹一下swing的彈出窗口,作為界面交互的時候不可或缺的檢測工具,簡直不要太好用。
首先要記住,彈出窗口必須要傳進去基礎窗口,也就是不可以直接調用,顯示massage;
在swing中,基於業務的考量,會有對話框來限制用戶的行為及對用戶的動作進行提示.
Swing中提供了JOptionPane類來實現類似Windows平台下的MessageBox的功能,同樣在Java中也有,
利用JOptionPane類中的各個static方法來生成各種標准的對話框,
實現顯示出信息、提出問題、警告、用戶輸入參數等功能。
這些對話框都是模式對話框。
ConfirmDialog --- 確認對話框,提出問題,然后由用戶自己來確認(按"Yes"或"No"按鈕)
InputDialog --- 提示輸入文本
MessageDialog --- 顯示信息 最經常用的應該是這個,直接彈出框顯示你要顯示的msg
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)顯示MessageDialogJOptionPane.showMessageDialog(null, "在對話框內顯示的描述性的文字",
"標題條文字串", JOptionPane.ERROR_MESSAGE);
(2)顯示ConfirmDialogJOptionPane.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+"項目");