0

这是我正在进行的演示文稿的第二部分。

String temp;

// Create the class
Hello helloUser = new Hello();

//Get the users name
temp = JOptionPane.showInputDialog("Please enter your name?");
helloUser.setName(temp);

String hello = helloUser.name(helloUser.getName());

//Greet the user
temp = JOptionPane.showInputDialog(null, hello, "Feeling", 
        JOptionPane.QUESTION_MESSAGE, null, new Object[]{
            "Great", "Good", "Been Better"
        });
helloUser.setFeeling(temp);

在我得到用户名后,我希望程序向他们打招呼并询问他们的工作情况,然后为他们提供选择以供选择答案。上面用于问候用户的代码不断给我这个错误:

no suitable method found for showInputDialog(<null>,String,String,int,<null>,Object[]) method JOptionPane.showInputDialog(Component,Object,String,int,Icon,Object[],Object) is not applicable (actual and formal argument lists differ in length)

我想给用户一个列表以供选择并将他们的选择存储在 temp 中。我可以用 JOptionPane 做到这一点吗?如果有怎么办?

4

2 回答 2

1

也许你忘记了参数。从JOptionPane API

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

初始选择值。

于 2013-03-08T21:18:18.760 回答
1

您当前的参数列表不适合提供的任何重载JOptionPane.showInputDialog()方法。

如果提供selectionValues参数,则还必须提供initialValue.

试试这个:

Object[] options = {"Great", "Good", "Been Better"};
temp = JOptionPane.showInputDialog(null, 
                                   hello, 
                                   "Feeling", 
                                   JOptionPane.QUESTION_MESSAGE, 
                                   null,  
                                   options, 
                                   options[0]);
于 2013-03-08T22:28:00.823 回答