Java 如果输入为';你想要什么?
因此,当用户没有在JTextField中输入0-60之间的数字时,我尝试创建一个JOptionPanel弹出窗口,但我不确定如何进行 这是我试过的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()
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.");
}