需要帮助向用户显示列表并使用Swing获取响应

时间:2013-03-08 21:12:50

标签: java swing user-interface joptionpane

这是我正在制作的演示文稿的第二部分。

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做到吗?如果是这样的话?

2 个答案:

答案 0 :(得分:1)

也许你正在伪造参数。来自JOptionPane API

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

initialSelection值。

答案 1 :(得分:1)

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

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

请改为尝试:

Object[] options = {"Great", "Good", "Been Better"};
temp = JOptionPane.showInputDialog(null, 
                                   hello, 
                                   "Feeling", 
                                   JOptionPane.QUESTION_MESSAGE, 
                                   null,  
                                   options, 
                                   options[0]);