在java应用程序中仅在文本字段中输入数字

在java应用程序中仅在文本字段中输入数字,java,netbeans,textbox,numbers,Java,Netbeans,Textbox,Numbers,我这里有一个文本标签和ID的文本字段我只想在文本中输入数字怎么可能?一直在尝试示例程序un net beans,但他们没有解决这个问题的方法。非常感谢您的帮助 更新 这里我想要的是,当我输入字母时,不会显示任何内容,但当输入数字时,它会显示。您可以使用。这非常简单:您向它传递一个扩展的格式化程序,格式化程序将允许您限制和修改字段中的显示方式。在这种情况下,您可以使用预先制作的格式化程序: 这还将在需要的地方添加逗号,例如,当您键入1000时,它将显示为1000 您可以使用。这非常简单:您向它传递

我这里有一个文本标签和ID的文本字段我只想在文本中输入数字怎么可能?一直在尝试示例程序un net beans,但他们没有解决这个问题的方法。非常感谢您的帮助

更新


这里我想要的是,当我输入字母时,不会显示任何内容,但当输入数字时,它会显示。

您可以使用。这非常简单:您向它传递一个扩展的格式化程序,格式化程序将允许您限制和修改字段中的显示方式。在这种情况下,您可以使用预先制作的格式化程序:


这还将在需要的地方添加逗号,例如,当您键入1000时,它将显示为1000

您可以使用。这非常简单:您向它传递一个扩展的格式化程序,格式化程序将允许您限制和修改字段中的显示方式。在这种情况下,您可以使用预先制作的格式化程序:


这还将在需要的地方添加逗号,例如,当您键入1000时,它将显示为1000

我所做的是在设计模式下,右键单击文本字段>事件>键>键入键

然后在代码中我看到了这样的东西

NumberFormatter formatter = new NumberFormatter(); //create the formatter
formatter.setAllowsInvalid(false); //must specify that invalid chars are not allowed

JFormattedTextField field = new JFormattedTextField(formatter); //pass the formatter to the field

我没有在堆栈中获得解决方案,但我将链接它这是

我所做的是在设计模式中,我右键单击文本字段>事件>键>键入键

然后在代码中我看到了这样的东西

NumberFormatter formatter = new NumberFormatter(); //create the formatter
formatter.setAllowsInvalid(false); //must specify that invalid chars are not allowed

JFormattedTextField field = new JFormattedTextField(formatter); //pass the formatter to the field

我没有在堆栈中得到解决方案,但我会将其链接这是

我在NetBean中尝试了示例程序,它们没有这样的输入限制,它们所有的都是输入字母数字,我只想要数字…我在这里学习的方式是直接做示例,但如果其中一个答案对您有帮助,请将其中一个标记为已接受答案。如果他们不帮你,请告诉我们给出的答案的问题,以便我们可以帮助你进一步我尝试过NetBean中的示例程序,它们没有这样的输入限制,它们所有的都是输入字母数字,我只想要数字…我在这里学习的方式是直接做示例,但如果其中一个答案对您有帮助,请将其中一个标记为已接受答案。如果他们没有帮助你,请告诉我们给出的答案中存在的问题,以便我们可以进一步帮助你我如何创建格式化程序我应该为此执行public void NumberFormatter吗?@HogRider创建格式化程序,正如你在我的帖子中看到的:1-创建一个变量。2-将新的数字格式存储在其中。3-使用变量调用setAllowsInvalid并将false传递给它,因此在这种情况下,它可以防止无效字符和非数字字符。4-将格式化程序传递到FormattedTextField如何创建格式化程序?我应该为此执行public void Number formatter吗?@HogRider创建格式化程序,正如您在我的帖子中看到的:1-创建变量。2-将新的数字格式存储在其中。3-使用变量调用setAllowsInvalid并将false传递给它,因此在这种情况下,它可以防止无效字符和非数字字符。4-将格式化程序传递到FormattedTextField减号for?解释,因为它工作,如果它不好,请解释,因为这是我现在使用减号的原因?解释,因为它工作,如果它不好,请解释,因为这是我现在使用的原因
private void DishFormPanelistIdTxtKeyTyped(java.awt.event.KeyEvent evt) {                                               
        // TODO add your handling code here:
        char enter = evt.getKeyChar();
        if(!(Character.isDigit(enter))){
            evt.consume();
        }
    }