我是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
答案 0 :(得分:0)
如果需要跟踪整数输入,可以查看JavaFX的IntegerField(一个仅用于访问整数值的字段)的实现:
但如果需要跟踪CTRL,则此方法不适用。