JOptionPane
有助於方便地彈出要求用戶提供值或向其發出通知的標準對話框,雖然由於方法數多使 JOptionPane
類可能顯得複雜,但幾乎所有此類的使用都是對下列靜態 showXxxDialog
方法之一的單行調用:
所有這些方法還可能以 showInternalXXX
風格出現,該風格使用內部窗體來保存對話框。此外還定義了多種便捷方法,這些方法重載那些基本方法,使用不同的參數列表。
所有對話框都是有模式的。在用戶交互完成之前,每個 showXxxDialog
方法都一直阻塞調用者。
顯示一個錯誤對話框,該對話框顯示的 message 爲 'alert':
JOptionPane.showMessageDialog(null, "alert", "alert", JOptionPane.ERROR_MESSAGE);
顯示一個內部信息對話框,其 message 爲 'information':
JOptionPane.showInternalMessageDialog(frame, "information","information", JOptionPane.INFORMATION_MESSAGE);
顯示一個信息面板,其 options 爲 "yes/no",message 爲 'choose one':
JOptionPane.showConfirmDialog(null,"choose one", "choose one", JOptionPane.YES_NO_OPTION);
顯示一個內部信息對話框,其 options 爲 "yes/no/cancel",message 爲 'please choose one',並具有 title 信息:
JOptionPane.showInternalConfirmDialog(frame,
"please choose one", "information",JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
顯示一個警告對話框,其 options 爲 OK、CANCEL,title 爲 'Warning',message 爲 'Click OK to continue':
Object[] options = { "OK", "CANCEL" };
JOptionPane.showOptionDialog(null, "Click OK to continue", "Warning",JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
null, options, options[0]);
顯示一個要求用戶鍵入 String 的對話框:
String inputValue = JOptionPane.showInputDialog("Please input a value");
顯示一個要求用戶選擇 String 的對話框:
Object[] possibleValues = { "First", "Second", "Third" };
Object selectedValue = JOptionPane.showInputDialog(null,"Choose one", "Input"
JOptionPane.INFORMATION_MESSAGE, null,possibleValues, possibleValues[0]);
直接創建和使用JOptionPane
//具體的參數含義可查閱Java文檔 JOptionPane pane = new JOptionPane(arguments); pane.set.Xxxx(...); // Configure JDialog dialog = pane.createDialog(parentComponent, title); dialog.show(); Object selectedValue = pane.getValue(); if(selectedValue == null) return CLOSED_OPTION; //If there is not an array of option buttons: if(options == null) { if(selectedValue instanceof Integer) return ((Integer)selectedValue).intValue(); return CLOSED_OPTION; } //If there is an array of option buttons: for(int counter = 0, maxCounter = options.length; counter < maxCounter; counter++) { if(options[counter].equals(selectedValue)) return counter; } return CLOSED_OPTION;
參考:在線API文檔