JavaFX:切换到TextArea时,将插入符/光标置于TextArea的末尾

Skrilmps

(在stackoverflow上搜索,我已经看到针对Javascript而不是针对JavaFX的问题)

我有一个TextArea,它实际上是类似文字处理器的应用程序中的主要文本编辑器(即,我希望用户花费大量时间在此TextArea中工作)。当用户切换到TextArea时,我希望将光标放置在TextArea的末尾,以便用户可以从上次键入的末尾继续进行编辑。

我已经使用ChangeListener(下面的代码)实现了它,它具有所需的行为。但是,由于每次获得焦点时光标都位于TextArea的末尾,所以如果我要切换应用程序然后再切换回来,则光标会移动。例如,如果用户在TextArea中间的某个地方键入句子,切换到阅读电子邮件,然后切换回以发现其光标已移动,这将带来不便。

是否有一个焦点遍历策略可以执行此操作或以其他方式实现此目标,以便仅当用户将其切换到TextArea时才将光标移到末尾?在我看来,这将是通常希望的行为:每当将TabA选中时,总是将光标显示在TextArea的末尾,否则光标将保持不动。

TextArea passageTextArea;

passageTextArea.focusedProperty().addListener(new ChangeListener<Boolean>() {
    @Override
    public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue)
    {
        if (newValue.booleanValue()) {
            passageTextArea.positionCaret(passageTextArea.getText().length());
        }
    }
});
强制性

您可以添加一个EventHandler用于KeyEvent其移动插入符文的结尾,当你按下Tab键:

 EventHandler<KeyEvent> tabListener = evt -> {
            if (evt.getCode() == KeyCode.TAB && !evt.isShiftDown()) {
                evt.consume();
                passageTextArea.requestFocus();
                passageTextArea.end();
            }
        };

 node.addEventHandler(KeyEvent.ANY, tabListener);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将光标导航到textarea(JavaFX)

来自分类Dev

将光标移动到表单中 textarea/input 的末尾

来自分类Dev

将HDMI插入笔记本电脑时切换到HDMI音频(14.04)

来自分类Dev

将HDMI插入笔记本电脑时切换到HDMI音频(14.04)

来自分类Dev

JavaFX - 切换到新场景时出现 NullPointerException

来自分类Dev

当contenteditible = true并使用Highlight.js时,将光标置于<pre>的末尾

来自分类Dev

jQuery单击时将文本切换到输入字段

来自分类Dev

将片段切换到容器时发生ClassCastException

来自分类Dev

将数组类切换到模板时出现错误

来自分类Dev

使用tabstat时将变量从列切换到行

来自分类Dev

使用“this”单击时将类切换到元素

来自分类Dev

分别进入VR模式内外时,如何从鼠标切换到凝视或凝视到鼠标光标?

来自分类Dev

如何删除textarea末尾的换行符

来自分类Dev

.focus()-如何使用contentEditable div将光标置于内容的末尾

来自分类Dev

.focus()-如何使用contentEditable div将光标置于内容的末尾

来自分类Dev

Mac默认的Alt-Tab切换器将光标置于应用列表的中间(非左侧/ MRU)

来自分类Dev

Web2py,将自定义窗口小部件从输入type = text切换到textarea

来自分类Dev

临时切换到全屏发际线光标

来自分类Dev

将HDMI监视器/接收器插入笔记本电脑时,将音频自动切换到HDMI

来自分类Dev

切换到电池时自动关闭

来自分类Dev

切换到UITableViewController时的调用方法

来自分类Dev

切换到root时传递命令

来自分类Dev

从AWS切换到Heroku时出错?

来自分类Dev

从窗口切换到iframe时出错

来自分类Dev

将CIFilters切换到视频

来自分类Dev

将列值切换到左侧

来自分类Dev

将数据从数组切换到向量

来自分类Dev

将 Joomla 切换到 Wordpress

来自分类Dev

当插入符位于输入末尾时,可在contenteditable中输入后将插入符右移

Related 相关文章

  1. 1

    将光标导航到textarea(JavaFX)

  2. 2

    将光标移动到表单中 textarea/input 的末尾

  3. 3

    将HDMI插入笔记本电脑时切换到HDMI音频(14.04)

  4. 4

    将HDMI插入笔记本电脑时切换到HDMI音频(14.04)

  5. 5

    JavaFX - 切换到新场景时出现 NullPointerException

  6. 6

    当contenteditible = true并使用Highlight.js时,将光标置于<pre>的末尾

  7. 7

    jQuery单击时将文本切换到输入字段

  8. 8

    将片段切换到容器时发生ClassCastException

  9. 9

    将数组类切换到模板时出现错误

  10. 10

    使用tabstat时将变量从列切换到行

  11. 11

    使用“this”单击时将类切换到元素

  12. 12

    分别进入VR模式内外时,如何从鼠标切换到凝视或凝视到鼠标光标?

  13. 13

    如何删除textarea末尾的换行符

  14. 14

    .focus()-如何使用contentEditable div将光标置于内容的末尾

  15. 15

    .focus()-如何使用contentEditable div将光标置于内容的末尾

  16. 16

    Mac默认的Alt-Tab切换器将光标置于应用列表的中间(非左侧/ MRU)

  17. 17

    Web2py,将自定义窗口小部件从输入type = text切换到textarea

  18. 18

    临时切换到全屏发际线光标

  19. 19

    将HDMI监视器/接收器插入笔记本电脑时,将音频自动切换到HDMI

  20. 20

    切换到电池时自动关闭

  21. 21

    切换到UITableViewController时的调用方法

  22. 22

    切换到root时传递命令

  23. 23

    从AWS切换到Heroku时出错?

  24. 24

    从窗口切换到iframe时出错

  25. 25

    将CIFilters切换到视频

  26. 26

    将列值切换到左侧

  27. 27

    将数据从数组切换到向量

  28. 28

    将 Joomla 切换到 Wordpress

  29. 29

    当插入符位于输入末尾时,可在contenteditable中输入后将插入符右移

热门标签

归档