Java中彈出對話框的不同類型

  JOptionPane 有助於方便地彈出要求用戶提供值或向其發出通知的標準對話框,雖然由於方法數多使 JOptionPane 類可能顯得複雜,但幾乎所有此類的使用都是對下列靜態 showXxxDialog 方法之一的單行調用

wKiom1nOQBiRwJ0SAAA3CwO7ADo237.png

    所有這些方法還可能以 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文檔



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章