Java 如何重置JTextField。。。。。。。?
我使用下面的pgm保存通讯簿上的详细信息。我想检查mob文件是否为int。它将在第一次正确执行(如果我在mob字段中输入字母,它将不会保存)。但从第二次开始,即使我在暴徒档案中输入了一封信,它也会保存文字。mob将存储上一个值。第一次执行后,我如何清除暴徒文件Java 如何重置JTextField。。。。。。。?,java,swing,jframe,jtextfield,Java,Swing,Jframe,Jtextfield,我使用下面的pgm保存通讯簿上的详细信息。我想检查mob文件是否为int。它将在第一次正确执行(如果我在mob字段中输入字母,它将不会保存)。但从第二次开始,即使我在暴徒档案中输入了一封信,它也会保存文字。mob将存储上一个值。第一次执行后,我如何清除暴徒文件 public void savePerson() { name = jtfName.getText(); name = name.toUpperCase(); jtfName.setTex
public void savePerson() {
name = jtfName.getText();
name = name.toUpperCase();
jtfName.setText(name);
address = jtfAddress.getText();
try {
landline = Integer.parseInt(""+jtfLandline.getText());
} catch(Exception e) {
}
try {
mob = Integer.parseInt(""+jtfmob.getText());
}catch(Exception e) {
}
email = jtfEmail.getText();
if(name.equals("")) {
JOptionPane.showMessageDialog(null, "Please enter person name.");
} else if(mob == 0) {
JOptionPane.showMessageDialog(null, "Please enter Mobile Number.");
} else {
//create a PersonInfo object and pass it to PersonDAO to save it
PersonInfo person = new PersonInfo(name, address, landline, mob , email);
pDAO.savePerson(person);
JOptionPane.showMessageDialog(null, "Person Saved");
clear();
}
}
在下次执行之前,请使用method
jtfmob.setText(“”
),然后编写完整的逻辑。在下次执行methodjtfmob.setText(“”
)之前,请编写完整的逻辑。尝试一下
第一次迭代结束后,通过如下设置重置文本字段
jtfmob.setText("");
要单独获取数字输入,请尝试以下代码
jtfmob = new JFormattedTextField(NumberFormat.getInstance());
试试这个,
第一次迭代结束后,通过如下设置重置文本字段
jtfmob.setText("");
要单独获取数字输入,请尝试以下代码
jtfmob = new JFormattedTextField(NumberFormat.getInstance());
这是非常明显的情况。
当您第一次解析jtfmob文本字段时,它将在其中查找值。。如果该值不是整数,则根本不会对其进行分析,您将得到null值。但是,如果值是整数,则可以毫无问题地继续操作
mob = Integer.parseInt(""+jtfmob.getText());
mob将包含整数数据类型的解析值。但下次当您将字母放入文本字段时,它将不可解析,因此会导致异常(您正在成功捕获该异常)。程序的控制将转移到catch块,而无需更新整型变量mob的值。因此,mob将包含旧值(因为该值因异常而未更新),并且与本例中得到的值相同
要解决这个问题,要么在catch块中显示一些消息以输入正确的值,要么自己找到其他方法,这是非常明显的情况。
当您第一次解析jtfmob文本字段时,它将在其中查找值。。如果该值不是整数,则根本不会对其进行分析,您将得到null值。但是,如果值是整数,则可以毫无问题地继续操作
mob = Integer.parseInt(""+jtfmob.getText());
mob将包含整数数据类型的解析值。但下次当您将字母放入文本字段时,它将不可解析,因此会导致异常(您正在成功捕获该异常)。程序的控制将转移到catch块,而无需更新整型变量mob的值。因此,mob将包含旧值(因为该值因异常而未更新),并且与本例中得到的值相同
要解决此问题,请在catch块中显示一些消息以输入正确的值,或者自己找到其他方法,在构造函数中使用以下命令
jTextField1.setText("");
每次单击按钮之前,它都会重置您的值。在构造函数中使用以下命令
jTextField1.setText("");
每次单击该按钮之前,它都会重置您的值。如何为land line添加验证,只有在该字段中输入值时才应如此。另一方面,无需验证如何为land line添加验证,只有在该字段中输入值时才应添加验证。其他方面无需验证