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()返回一个对象,如 doc 中指定的那样,但您需要一个字符串。注意选择选项

 Object[] selectionValues

是 的数组Objects,因此您将获得其中一个对象。没有什么可以说它们被指定为字符串。如果值字符串,那么您可以/应该适当地转换。

另请注意,您正在传递一个空数组。从文档:

用户将能够从 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 回答