2013-10-10 58 views
0

我想使用Java的JOptionnPane模塊。下面是代碼:使用Java的JOptionPane

Object[] options = {"OK", "Cancel"}; 
JOptionPane.showInternalOptionDialog(null, "Your choice", "Division", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[0]); 

error: JOptionPane: parentComponent does not have a valid parent at...

+1

InternalOptionDialog需要一個父對話框。你可以使用showOptionDialog方法。 – vels4j

+0

vels4j:tnx解決了問題 –

回答

1

JOptionPane.showInternalInputDialog是與只的JDesktopPane/JInternalFrames,其中這是的JDesktopPane/JInternalFrames實例中使用。

final JDesktopPane deskpane = new JDesktopPane(); 
... 
String str=JOptionPane.showInternalInputDialog(deskpane, "Enter value"); 

如果不與任一它不會產生正確的輸出的2個上面提到的部件的使用,實際上它會引發運行時異常:

java.lang.RuntimeException: JOptionPane: parentComponent does not have a valid pa 
+0

我問的是showInternalOptionDialog,但問題是相似的。它拋出一個異常,因爲沒有指定父組件。雖然它說它可以設置爲null –

1

例外談論uncorrectly用戶參數,其價值或他們的訂單,

import java.awt.EventQueue; 
import javax.swing.Icon; 
import javax.swing.JOptionPane; 
import javax.swing.UIManager; 

public class MyOptionPane { 

    public MyOptionPane() { 
     Icon errorIcon = UIManager.getIcon("OptionPane.errorIcon"); 
     Object[] possibilities = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; 
     Integer i = (Integer) JOptionPane.showOptionDialog(null, 
       null, "ShowInputDialog", 
       JOptionPane.PLAIN_MESSAGE,1, errorIcon, possibilities, 0); 
     Integer ii = (Integer) JOptionPane.showInputDialog(null, 
       "Select number:\n\from JComboBox", "ShowInputDialog", 
       JOptionPane.PLAIN_MESSAGE, errorIcon, possibilities, "Numbers"); 
    } 

    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       MyOptionPane mOP = new MyOptionPane(); 
      } 
     }); 
    } 
}