Java 如果输入为';你想要什么?

Java 如果输入为';你想要什么?,java,swing,if-statement,joptionpane,Java,Swing,If Statement,Joptionpane,因此,当用户没有在JTextField中输入0-60之间的数字时,我尝试创建一个JOptionPanel弹出窗口,但我不确定如何进行 这是我试过的 else if(e.getSource() == Save) { Task task = new Task(); task.hour = hin.getText(); task.min = min.getText(); if(min.getText()

因此,当用户没有在JTextField中输入0-60之间的数字时,我尝试创建一个JOptionPanel弹出窗口,但我不确定如何进行

这是我试过的

else if(e.getSource() == Save) {

            Task task = new Task();
            task.hour = hin.getText();
            task.min = min.getText();
            if(min.getText() > 0 && min.getText() < 60) {
                JOptionPane.showMessageDialog(null, "Please enter a valid time.");
            }
            else{
            task.day = (String) dayspinner.getValue();
            task.description = desc.getText();
            tasks.add(task);
            ObjectOutputStream os = null;
            try{
                os = new ObjectOutputStream(new FileOutputStream(save));
                os.writeObject(tasks);
                os.close();
            }catch(IOException ex) {
                ex.printStackTrace();
            }
            tframe.setVisible(false);
            }
        }
else if(e.getSource()==保存){
任务=新任务();
task.hour=hin.getText();
task.min=min.getText();
if(min.getText()>0&&min.getText()<60){
showMessageDialog(null,“请输入有效时间”);
}
否则{
task.day=(字符串)dayspinner.getValue();
task.description=desc.getText();
任务。添加(任务);
ObjectOutputStream os=null;
试一试{
os=新对象输出流(新文件输出流(保存));
os.writeObject(任务);
os.close();
}捕获(IOEX异常){
例如printStackTrace();
}
tframe.setVisible(false);
}
}
但我得到的错误是“二进制运算符的操作数类型错误”
getText()
方法返回一个
字符串
,您不能使用
来比较
字符串
s。如果您先将
min#getText
的结果转换为
int
,然后进行适当的比较,您可以使用
Integer#parseInt()

intminval=Integer.parseInt(min.getText());
//修正了条件
如果(!(最小值>0和最小值<60)){
//代码的其余部分。。。
}
getText()
方法返回一个
字符串
,您不能使用
来比较
字符串
。如果您先将
min#getText
的结果转换为
int
,然后进行适当的比较,您可以使用
整数#parseInt()

intminval=Integer.parseInt(min.getText());
//修正了条件
如果(!(最小值>0和最小值<60)){
//代码的其余部分。。。
}
getText()
方法返回一个
字符串
,您不能使用
来比较
字符串
。如果您先将
min#getText
的结果转换为
int
,然后进行适当的比较,您可以使用
整数#parseInt()

intminval=Integer.parseInt(min.getText());
//修正了条件
如果(!(最小值>0和最小值<60)){
//代码的其余部分。。。
}
getText()
方法返回一个
字符串
,您不能使用
来比较
字符串
。如果您先将
min#getText
的结果转换为
int
,然后进行适当的比较,您可以使用
整数#parseInt()

intminval=Integer.parseInt(min.getText());
//修正了条件
如果(!(最小值>0和最小值<60)){
//代码的其余部分。。。
}

String
无法使用比较运算符进行比较。请改为解析
int
-值(
Integer.parseInt(String-someString)
)并进行比较。
无法使用比较运算符对字符串进行比较。请解析
int
值(
Integer.parseInt(String-someString)
)替换并比较它们。

String
不能使用比较运算符进行比较。请改为分析
int
-值(
Integer.parseInt(String someString)
)并比较它们。

String
不能使用比较运算符进行比较。请分析
int
-值(
Integer.parseInt>)(String someString)
)并进行比较。

对于用户输入验证,可以使用
JFormattedTextField
JSpinner
InputVerfifer
,甚至是
文档过滤器
(但如果你到了这里,你可能做错了什么)

这将允许您实时验证字段的设置(焦点更改后),并确保仅允许用户输入所需的值。您还可以使用
InputVerifier
限制焦点的更改,以便用户在输入有效值之前无法离开字段


有关更多详细信息,请参见和。

要进行用户输入验证,请使用
JFormattedTextField
JSpinner
InputVerfifer
甚至使用
文档过滤器(但如果您在这里,可能是做错了什么)

这将允许您实时验证字段的设置(焦点更改后),并确保仅允许用户输入所需的值。您还可以使用
InputVerifier
限制焦点的更改,以便用户在输入有效值之前无法离开字段


有关更多详细信息,请参见和。

要进行用户输入验证,请使用
JFormattedTextField
JSpinner
InputVerfifer
甚至使用
文档过滤器(但如果您在这里,可能是做错了什么)

这将允许您实时验证字段的设置(焦点更改后),并确保仅允许用户输入所需的值。您还可以使用
InputVerifier
限制焦点的更改,以便用户在输入有效值之前无法离开字段


有关更多详细信息,请参见和。

要进行用户输入验证,请使用
JFormattedTextField
JSpinner
InputVerfifer
甚至使用
文档过滤器(但如果您在这里,可能是做错了什么)

这将允许您实时验证字段的值(焦点更改后),并确保仅允许用户输入所需的值。您还可以使用
InputVerifier
重新设置
int minVal = Integer.parseInt(min.getText());
//fixed the condition
if (!(minVal > 0 && minVal < 60)) {
    //rest of the code...
}
    if(min.getText() > 0 && min.getText() < 60) {
        JOptionPane.showMessageDialog(null, "Please enter a valid time.");
    }
    if(Integer.parseInt(min.getText()) > 0 && Integer.parseInt(min.getText()) < 60) {
        JOptionPane.showMessageDialog(null, "Please enter a valid time.");
    }