Java JOptionPane输入验证不工作
在使此输入验证工作时遇到一些问题 我做错了什么 在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
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。谢谢你的帮助!: