【发布时间】:2016-03-28 05:40:47
【问题描述】:
我正在尝试在 JavaFX 中制作数独游戏,但我不知道如何只允许输入一个字母。对此的答案是调用文本字段并执行:
myTextField.setOnKeyPressed(e ->
{
if (!myTextField.getText().length().isEmpty())
{
// Somehow reject the key press?
}
}
上述方式不适用于复制粘贴...或大量其他内容等。使用这样的按键监听器似乎是一个非常糟糕的想法。一定有更好的东西吗?文本字段是否有一个属性,只允许输入某些字符,或者只允许输入一定数量的字符?
谢谢!
【问题讨论】:
-
请注意,如果用户使用鼠标和上下文菜单进行复制和粘贴,则使用监听器进行按键操作将失败。链接问题中接受的答案也有缺陷;其他答案将起作用,但已过时,因为 JavaFX 8 有专门针对此用例的 API。
标签: java user-interface javafx textfield