java - 输入对话框显示随机 "-1"

标签 java user-interface joptionpane inputbox

一切运行完美,但String am1 = (String)JOptionPane.showInputDialog显示随机默认值“-1”。

private void am1ActionPerformed(java.awt.event.ActionEvent evt) {     

getinfo();//Set the random question and answer
    am1.setEnabled(false);
Object[] options = {"Answer", "Cancel"};
int n = JOptionPane.showOptionDialog(null,
        JeopardyGUI.question1_1,//Reference the question set
        "",
        JOptionPane.YES_NO_OPTION,
        JOptionPane.PLAIN_MESSAGE,
        null,     //do not use a custom Icon
        options,  //the titles of buttons
        options[0]); //default button title

    if(n == JOptionPane.YES_OPTION){
       String am1 = (String)JOptionPane.showInputDialog("",JOptionPane.PLAIN_MESSAGE);

       if(am1.equalsIgnoreCase(JeopardyGUI.answer1_1)){
           Jscore += 100;
           JOptionPane.showMessageDialog(null, JeopardyGUI.answer1_1 );
       }
       else if(!am1.equalsIgnoreCase(JeopardyGUI.answer1_1)){
           Jscore += -100;
           JOptionPane.showMessageDialog(null, JeopardyGUI.answer1_1 );
       }
 //           else
 //               am1.setEnabled(true);

    }
    if(n == JOptionPane.NO_OPTION){
        //am1.setVisible(false);
        am1.setEnabled(true);
    }
}                                   

最佳答案

您正在使用:

public static String showInputDialog(Object message, Object initialSelectionValue)

在这种情况下,JOptionPane.PLAIN_MESSAGE 是您的初始选择值。我猜它是一个等于-1的int。你真正想要的可能是:

JOptionPane.showInputDialog("Actual message", "");

另外,请小心:

String am1 = ...

正在隐藏 am1 类成员,它看起来是某个组件。

我还可以建议将处理逻辑重写为:

if(am1 != null && am1.equalsIgnoreCase(JeopardyGUI.answer1_1)){
    Jscore += 100;
else Jscore += -100;
JOptionPane.showMessageDialog(null, JeopardyGUI.answer1_1 );

关于java - 输入对话框显示随机 "-1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23765527/

相关文章:

java - 在 swing 消息框中启用文本突出显示

java - 从字符串转换为整数

java - 托管语言是否锁定刷新并重新加载 native 库的变量?

java - 如何检查 Gradle 任务中 Activity 的 spring 配置文件

c++ - 从无窗口控件获取文本

java - JOptionPane 是 否 选项

java - 如何在数字集之间制作 Java Rand() 输出

java - 这是java jdk中的错误吗?

java - Action 监听器,执行 Gui

c# - 与复杂/嵌套对象的数据绑定(bind) (C#)