Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何重置JTextField。。。。。。。?_Java_Swing_Jframe_Jtextfield - Fatal编程技术网

Java 如何重置JTextField。。。。。。。?

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

我使用下面的pgm保存通讯簿上的详细信息。我想检查mob文件是否为int。它将在第一次正确执行(如果我在mob字段中输入字母,它将不会保存)。但从第二次开始,即使我在暴徒档案中输入了一封信,它也会保存文字。mob将存储上一个值。第一次执行后,我如何清除暴徒文件

 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(“”
),然后编写完整的逻辑。

在下次执行method
jtfmob.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添加验证,只有在该字段中输入值时才应添加验证。其他方面无需验证