我在JFrame中有一个应用程序。以下是代码的一部分:
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String input = text.getText();
int number = Integer.parseInt(text.getText());
if(number>0)
{
for(int i=0; i<liczba; i++)
{
new NewWindow();
}
}
}
});
此操作会在应用中创建新窗口,其中窗口数量取决于我们输入的数量。我需要确保它是一个数字(不是字母或其他东西)。我也知道必须使用密钥监听器,输入的符号必须在代表数字的某些ASCII值之间。但我不知道如何做到这一点。任何解决方案?
答案 0 :(得分:3)
我也知道必须使用密钥监听器
不需要使用KeyListener。这可能是最古老的解决方案,并在AWT中使用。 Swing有更新更好的API,你应该使用它。
您可以使用JSpinner
,JFormattedTextField
或DocumentFilter
。
阅读Swing Tutorial。你应该查看以下部分:
How to Use a Spinner
How to use Formatted Text Fields
How to Write a DocumentFilter
上述任何一种方法都比使用KeyListener更好。