【发布时间】:2013-11-13 16:58:02
【问题描述】:
我有一个 JTestPane 包含一些文本(显然)。使用键盘浏览文本时,通常使用 control + 向右箭头来跳过整个单词。 JTestPane 中的默认行为是将插入符号放在下一个单词的第一个字符之前。
例如,让我们考虑句子“This is a sentence”。从位置 0 开始,如果我跳过“This”并转到下一个单词(使用 CTRL+RIGHT),插入符号将位于位置 5,即“is”之前。
这对于浏览来说很好,但我不喜欢这种文本选择行为。在我正在处理的应用程序中,如果在使用 SHFT+CTRL+RIGHT 时,我只选择“This”(没有额外的空间)而不是“This”,那会更好,因为它是默认的。换句话说,我想选择字符 0-3 而不是 0-4。
我没有找到太多关于如何调整 Swing 以获得这种结果的信息。到目前为止,我已经尝试将CaretListener 注册到JTestPane 并手动缩短选择,以便在必要时删除尾随空格。但是感觉不太对劲,而且效果也不好,因为它阻止了选择多个单词。
所以,如果有人能指出我正确的方向,我会非常高兴。
【问题讨论】:
-
您需要覆盖键绑定
标签: java swing selection jtextpane