Java 如何在netbeans中将文本框输入验证为数字

Java 如何在netbeans中将文本框输入验证为数字,java,validation,netbeans-7,Java,Validation,Netbeans 7,我的问题是如何验证作为数字输入的文本框,并且文本框不应该为空。 我需要一次检查这两个代码段 //我的代码不是emty 如果(jTextField1.getText())尝试一下这个模式,就会发现模式有问题 try { String regex = "[0-9]+"; String data = jTextField1.getText(); System.out.println(data.matches(regex));

我的问题是如何验证作为数字输入的文本框,并且文本框不应该为空。 我需要一次检查这两个代码段

//我的代码不是emty


如果(jTextField1.getText())

尝试一下这个模式,就会发现模式有问题

try {
            String regex = "[0-9]+";
            String data = jTextField1.getText();
            System.out.println(data.matches(regex));


            if (!data.matches(regex)) {
                JOptionPane.showMessageDialog(this, "Please Enter Digites");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

我经常使用try/NumberFormatException来确保结果有效: (我假设您使用用户在文本框中输入的值填充对象的字段)

例如:

试试{mobjSomeObject.setSomeProp(Integer.parseInt(txtextbox.getText());}

catch(NumberFormatException nFE){…如果不是数字就做点什么…;}

您可以通过获取密钥代码来检查它。你试过了吗?只要试着检查数字字符串regex=“^[0-9]”的模式即可;字符串数据=“23343453521”;System.out.println(data.matches(regex));你将如何设置这个属性?我认为这不是一个好方法这是一个属性集:
mobjSomeObject.setSomeProp(…)
try/catch只确保属性将数字作为值。在catch部分,您可以设置为0或向用户发送消息或其他任何内容。。。为什么不好?但是如果你得到了例外,你会给予验证,不是吗?我想这是你选择的问题。当引发异常时,不会向属性提供任何内容。然后,在catch部分,您可以为对象指定默认值,甚至可以启动“cancelEdit”(取消编辑),如果需要的话。事实上,我经常使用JDialog通知用户并指定默认值。在大多数情况下这已经足够了。是的,这是正确的,但是你不认为检查模式会更好吗