(java)Swing中彈出對話框的幾種方式與java 對話框 JOptionPane類的api介紹

在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]);
System.out.println("您按下了" + (String) selectedValue + "項目");

===========================================================================================

字段摘要 
static int CANCEL_OPTION 
選擇 CANCEL 時從類方法返回的值。 
static int CLOSED_OPTION 
用戶沒有做出任何選擇而關閉了窗口時從類方法返回的值,很可能將此值視爲 CANCEL_OPTION 或 NO_OPTION。 
static int DEFAULT_OPTION 
用於 showConfirmDialog 的類型。 
static int ERROR_MESSAGE 
用於錯誤消息。 
protected Icon icon 
在窗格中使用的圖標。 
static String ICON_PROPERTY 
icon 的 bound 屬性名。 
static int INFORMATION_MESSAGE 
用於信息消息。 
static String INITIAL_SELECTION_VALUE_PROPERTY 
initialSelectionValue 的 bound 屬性名。 
static String INITIAL_VALUE_PROPERTY 
initialValue 的 bound 屬性名。 
protected Object initialSelectionValue 
要在 selectionValues 中選擇的初始值。 
protected Object initialValue 
應該在 options 中最初選擇的值。 
static String INPUT_VALUE_PROPERTY 
inputValue 的 bound 屬性名。 
protected Object inputValue 
用戶已輸入的值。 
protected Object message 
要顯示的消息。 
static String MESSAGE_PROPERTY 
message 的 bound 屬性名。 
static String MESSAGE_TYPE_PROPERTY 
type 的 bound 屬性名。 
protected int messageType 
消息類型。 
static int NO_OPTION 
選擇 NO 時從類方法返回的值。 
static int OK_CANCEL_OPTION 
用於 showConfirmDialog 的類型。 
static int OK_OPTION 
選擇 OK 時從類方法返回的值。 
static String OPTION_TYPE_PROPERTY 
optionType 的 bound 屬性名。 
protected Object[] options 
要向用戶顯示的選項。 
static String OPTIONS_PROPERTY 
option 的 bound 屬性名。 
protected int optionType 
選項類型,DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION 或 OK_CANCEL_OPTION 之一。 
static int PLAIN_MESSAGE 
未使用圖標。 
static int QUESTION_MESSAGE 
用於問題。 
static String SELECTION_VALUES_PROPERTY 
selectionValues 的 bound 屬性名。 
protected Object[] selectionValues 
用戶可以從中選擇值的數組。 
static Object UNINITIALIZED_VALUE 
指示用戶尚未選擇值。 
protected Object value 
當前選擇的值,該值將爲有效選項或者 UNINITIALIZED_VALUE 或 null。 
static String VALUE_PROPERTY 
value 的 bound 屬性名。 
static String WANTS_INPUT_PROPERTY 
wantsInput 的 bound 屬性名。 
protected boolean wantsInput 
如果爲 true,則向用戶提供 UI 窗口小部件以獲取輸入。 
static int WARNING_MESSAGE 
用於警告消息。 
static int YES_NO_CANCEL_OPTION 
用於 showConfirmDialog 的類型。 
static int YES_NO_OPTION 
用於 showConfirmDialog 的類型。 
static int YES_OPTION 
選擇 YES 時從類方法返回的值。 

方法摘要 
JDialog createDialog(Component parentComponent, String title) 
創建並在 parentComponent 窗體中的 parentComponent 中央返回一個包裝 this 的新 JDialog。 
JInternalFrame createInternalFrame(Component parentComponent, String title) 
創建並返回 JInternalFrame 的實例。 
AccessibleContext getAccessibleContext() 
返回與此 JOptionPane 相關聯的 AccessibleContext。 
static JDesktopPane getDesktopPaneForComponent(Component parentComponent) 
返回指定組件的桌面窗格。 
static Frame getFrameForComponent(Component parentComponent) 
返回指定組件的 Frame。 
Icon getIcon() 
返回此窗格顯示的圖標。 
Object getInitialSelectionValue() 
返回(根據最初選擇)向用戶顯示的輸入值。 
Object getInitialValue() 
返回初始值。 
Object getInputValue() 
如果 wantsInput 爲 true,則返回用戶已輸入的值。 
int getMaxCharactersPerLineCount() 
返回要置於消息的行中的最大字符數。 
Object getMessage() 
返回此窗格顯示的消息對象。 
int getMessageType() 
返回消息類型。 
Object[] getOptions() 
返回用戶可以作出的選擇。 
int getOptionType() 
返回顯示的選項類型。 
static Frame getRootFrame() 
返回用於不提供窗體的類方法中的 Frame。 
Object[] getSelectionValues() 
返回輸入選擇值。 
OptionPaneUI getUI() 
返回實現此組件 L&F 的 UI 對象。 
String getUIClassID() 
返回實現此組件 L&F 的 UI 類的名稱。 
Object getValue() 
返回用戶所選值。 
boolean getWantsInput() 
返回 wantsInput 屬性的值。 
protected String paramString() 
返回此 JOptionPane 的字符串表示形式。 
void selectInitialValue() 
請求選擇初始值,該請求將焦點設置爲初始值。 
void setIcon(Icon newIcon) 
設置要顯示的圖標。 
void setInitialSelectionValue(Object newValue) 
設置(根據選擇)最初向用戶顯示的輸入值。 
void setInitialValue(Object newInitialValue) 
設置要啓用的初始值,即最初顯示窗格時處於焦點狀態的 Component。 
void setInputValue(Object newValue) 
設置由用戶選擇或輸入的輸入值。 
void setMessage(Object newMessage) 
設置選項窗格的消息對象。 
void setMessageType(int newType) 
設置選項窗格的消息類型。 
void setOptions(Object[] newOptions) 
設置此窗格顯示的選項。 
void setOptionType(int newType) 
設置要顯示的選項。 
static void setRootFrame(Frame newRootFrame) 
設置窗體,以用於不提供窗體的類方法。 
void setSelectionValues(Object[] newValues) 
設置窗格的輸入選擇值,該窗格向用戶提供可以從中進行選擇的項列表。 
void setUI(OptionPaneUI ui) 
設置實現此組件 L&F 的 UI 對象。 
void setValue(Object newValue) 
設置用戶所選值。 
void setWantsInput(boolean newValue) 
設置 wantsInput 屬性。 
static int showConfirmDialog(Component parentComponent, Object message) 
調出帶有選項 Yes、No 和 Cancel 的對話框;標題爲 Select an Option。 
static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType) 
調出一個由 optionType 參數確定其中選項數的對話框。 
static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType) 
調用一個由 optionType 參數確定其中選項數的對話框,messageType 參數確定要顯示的圖標。 
static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon) 
調出一個帶有指定圖標的對話框,其中的選項數由 optionType 參數確定。 
static String showInputDialog(Component parentComponent, Object message) 
顯示請求用戶輸入內容的問題消息對話框,它以 parentComponent 爲父級。 
static String showInputDialog(Component parentComponent, Object message, Object initialSelectionValue) 
顯示請求用戶輸入內容的問題消息對話框,它以 parentComponent 爲父級。 
static String showInputDialog(Component parentComponent, Object message, String title, int messageType) 
顯示請求用戶提供輸入的對話框,它以 parentComponent 爲父級,該對話框的標題爲 title,消息類型爲 messageType。 
static Object showInputDialog(Component parentComponent, Object message, String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue) 
提示用戶在可以指定初始選擇、可能選擇及其他所有選項的模塊化的對話框中輸入內容。 
static String showInputDialog(Object message) 
顯示請求用戶輸入的問題消息對話框。 
static String showInputDialog(Object message, Object initialSelectionValue) 
顯示請求用戶輸入的問題消息對話框,它帶有已初始化爲 initialSelectionValue 的輸入值。 
static int showInternalConfirmDialog(Component parentComponent, Object message) 
調出帶有選項 Yes、No 和 Cancel 的內部對話框面板;標題爲 Select an Option。 
static int showInternalConfirmDialog(Component parentComponent, Object message, String title, int optionType)
調出一個由 optionType 參數確定其中選項數的內部對話框面板。 
static int showInternalConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType) 
調出一個由 optionType 參數確定其中選項數的內部對話框面板,messageType 參數確定要顯示的圖標。 
static int showInternalConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon) 
調出一個帶有指定圖標的內部對話框面板,其中的選項數由 optionType 參數確定。 
static String showInternalInputDialog(Component parentComponent, Object message) 
顯示請求用戶輸入內容的內部問題消息對話框,它以 parentComponent 爲父級。 
static String showInternalInputDialog(Component parentComponent, Object message, String title, int messageType) 
顯示請求用戶提供輸入的內部對話框,該對話框的標題爲 title,消息類型爲 messageType,並以 parentComponent 爲父級。 
static Object showInternalInputDialog(Component parentComponent, Object message, String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue) 
提示用戶在可以指定初始選擇、可能選擇及其他所有選項的模塊化的內部對話框中輸入內容。 
static void showInternalMessageDialog(Component parentComponent, Object message) 
調出內部確認對話框面板。 
static void showInternalMessageDialog(Component parentComponent, Object message, String title, int messageType) 
調出一個顯示消息的內部對話框面板,它使用由 messageType 參數確定的默認圖標。 
static void showInternalMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon) 
調出一個顯示消息的內部對話框面板,爲其指定了所有參數。 
static int showInternalOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue) 
調出一個帶有指定圖標的內部對話框面板,其中的初始選擇由 initialValue 參數確定,選項數由 optionType 參數確定。 
static void showMessageDialog(Component parentComponent, Object message) 
調出標題爲 "Message" 的信息消息對話框。 
static void showMessageDialog(Component parentComponent, Object message, String title, int messageType) 
調出對話框,它顯示使用由 messageType 參數確定的默認圖標的 message。 
static void showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon) 
調出一個顯示信息的對話框,爲其指定了所有參數。 
static int showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue) 
調出一個帶有指定圖標的對話框,其中的初始選擇由 initialValue 參數確定,選項數由 optionType 參數確定。 
void updateUI() 
UIManager 發出的關於 L&F 已改變的通知。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章