【发布时间】:2013-05-08 12:45:12
【问题描述】:
我创建了一个自定义组件,它扩展了 TextField 并允许对特定类型的字符串进行高级编辑。
箭头键已被重新定义以允许特定行为并且应该不触发默认插入符号移动但是我似乎无法阻止它移动。我已经消费了()我能想象到的每一种类型的事件,当按下箭头键时插入符号总是会移动。
此外,在输入新字母时,首先对其进行验证,如果发现无效,则撤消编辑。但是插入符号总是移动一个位置,而当您输入的字母无效时不应移动它。
我目前有逻辑可以将插入符号移动到正确的位置,因此控件或多或少可以工作,唯一的问题是用户看到插入符号在代码试图对抗默认移动时疯狂地跳跃。
有趣的是:我为控件提供了一个上下文菜单,当显示上下文菜单时,插入符号停止其默认移动(或者它突然足够快,以至于用户看不到它)。
我正在研究上下文菜单的源代码,以查看它是否设置或取消设置某些内容,但我没有看到它。任何想法如何停止文本字段的默认插入符号移动?
【问题讨论】:
标签: javafx