0

JOptionPaneの静的メソッドを使用して、入力ダイアログを作成しようとしています。

public static Object showInputDialog(Component parentComponent,
                                     Object message,
                                     String title,
                                     int messageType,
                                     Icon icon,
                                     Object[] selectionValues,
                                     Object initialSelectionValue)
                              throws HeadlessException

私のコードは次のとおりです。

String username = JOptionPane.showInputDialog(null, 
                                              "Username", 
                                              "Pick a name",    
                                              JOptionPane.PLAIN_MESSAGE,
                                              null, 
                                              null, 
                                              "default_name");

これは私にエラーをもたらします:

ChatController.java:49: incompatible types
found   : java.lang.Object
required: java.lang.String

私が見逃している単純なものがあるに違いありません...

4

2 に答える 2

2

JOptionPane.showInputDialog()ドキュメントで指定されているようにオブジェクトを返しますが、文字列が必要です。選択オプションに注意してください

 Object[] selectionValues

はの配列でObjectsあるため、これらのオブジェクトの1つを取り戻すことができます。それらが文字列として指定されていると言うことは何もありません。値文字列の場合、適切にキャストできます/キャストする必要があります。

null配列を渡していることにも注意してください。ドキュメントから:

ユーザーはselectionValuesから選択できます。ここで、nullは、ユーザーが好きなように入力できることを意味します。

于 2012-10-18T09:18:33.080 に答える
1
String username =(String) JOptionPane.showInputDialog(null, 
                                          "Username", 
                                          "Pick a name",    
                                          JOptionPane.PLAIN_MESSAGE,
                                          null, 
                                          null, 
                                          "default_name");

多分これはそれを解決します

于 2012-10-18T09:17:35.313 に答える