如何确保用户只允许整数输入?

时间:2013-05-14 22:38:49

标签: java javafx-2

我是Java和JavaFX的新手,但我正在尝试构建一个非常基本的程序。下面是我最初放在On Key Pressed的{​​{1}}事件中的代码片段(它当然有不同的参数类型)。但是,代码在那里不起作用(即用户仍然允许输入字符),并且在一些谷歌搜索之后我发现可能会将此代码移动到TextField的{​​{1}}事件。但是,我无法确定如何恢复按下的键以及CTRL是否已关闭。

On Input Method Text Changed

此代码位于我的控制器中,该控制器附加到TextField文件。

如何确保用户只能将整数输入private void verifyKeyIsInteger(InputMethodEvent event) { KeyCode code = event.getCode(); if (event.isControlDown() && (code.equals(KeyCode.C) || code.equals(KeyCode.X) || code.equals(KeyCode.V))) { return; } else if (code.isDigitKey()) { return; } event.consume(); }

修改

这是我当前的FXML

TextField

1 个答案:

答案 0 :(得分:0)

如果需要跟踪整数输入,可以查看JavaFX的IntegerField(一个仅用于访问整数值的字段)的实现:

IntegerField.java

IntegerFieldSkin.java

但如果需要跟踪CTRL,则此方法不适用。