Java JOptionPane输入验证不工作

Java JOptionPane输入验证不工作,java,validation,input,joptionpane,Java,Validation,Input,Joptionpane,在使此输入验证工作时遇到一些问题 我做错了什么 在JOptionPane中选择“确定”时,它仍会分配值,并且不会显示“错误”对话框 public void actionPerformed(ActionEvent e) { do { int option = JOptionPane.showConfirmDialog(calendarPanel.getMainView(), message, "Enter OT Details", JOpti

在使此输入验证工作时遇到一些问题

我做错了什么

在JOptionPane中选择“确定”时,它仍会分配值,并且不会显示“错误”对话框

public void actionPerformed(ActionEvent e) {
    do {
        int option = JOptionPane.showConfirmDialog(calendarPanel.getMainView(), message, "Enter OT Details",
                JOptionPane.OK_CANCEL_OPTION);
        if (option == JOptionPane.CANCEL_OPTION) {
            break;
        }
        if (option == JOptionPane.OK_OPTION) {
            if (workTypeA.getText() != "" && startTimeA.getText() != "" && finishTimeA.getText() != ""
                    && otHoursA.getText() != "") {
                workTypeString = String.valueOf(workTypeA.getText());
                startTimeString = String.valueOf(startTimeA.getText());
                finishTimeString = String.valueOf(finishTimeA.getText());
                otHoursString = String.valueOf(otHoursA.getText());
                rateCodeString = String.valueOf(rateCodeA.getSelectedItem());
                System.out.println(workTypeString);
                valid = 1;
            } else {
                JOptionPane.showMessageDialog(null, "Please fill out all fields!", "Error",
                        JOptionPane.INFORMATION_MESSAGE);
            }
        }
    } while (valid == 0);
}
在代码中没有为0指定有效值。这意味着,在一次正确的输入之后,一切都将是有效的。作为旁注,java具有布尔类型,在处理真值和假值时应该使用它


此外,请勿使用!=或==在字符串比较中。这就比较了引用,在大多数情况下,即使是相同的文本内容,它们也不会相同-请参见

谢谢。我在开始时已声明有效为0,但没有在上面的代码中显示它。很抱歉。我忘记了.equals,因为我一直在学习其他语言,刚刚回到Java。谢谢你的帮助!: