【问题标题】:how to use autocomplete in TextArea in javafx如何在 javafx 的 TextArea 中使用自动完成功能
【发布时间】:2018-06-10 12:14:21
【问题描述】:

javafx 为 TextField 提供自动完成支持,我想将该功能用于 textArea

String[] autosuggestions = {"test","testing","etc etc"};
    TextFields.bindAutoCompletion(inputTextField, autosuggestions);

请帮助我如何将它用于 TextArea 像这样的

String[] autosuggestions = {"test","testing","etc etc"};
        TextFields.bindAutoCompletion(inputTextArea, autosuggestions);

任何解决方法将不胜感激,请帮助

【问题讨论】:

    标签: java javafx textarea textfield


    【解决方案1】:

    您可以扩展 TextArea 组件并自己滚动它;此示例 (https://gist.github.com/floralvikings/10290131) 使用 TextField 执行此操作,同样的过程可以使用 TextArea 完成以从字符串数组中进行选择。

    在编辑时,您可以检查插入符号位置附近的单词是否是列表中的部分完成,然后只需使用示例使用的弹出窗口手动完成所有操作。

    该示例实现了一个更改监听器:

    textProperty().addListener(new ChangeListener<String>()
    {
    @Override
    public void changed(ObservableValue<? extends String> observableValue, String s, String s2) { ... } });
    

    这会隐藏/显示填充在private void populatePopup(List&lt;String&gt; searchResult) {...} 的弹出窗口

    您可以扩展文本区域,然后使用类似的弹出窗口。棘手的部分是找到文本区域的插入符号位置,获取正在编辑的单词,然后能够将弹出窗口中的补全插入到文本区域的正确位置。

    【讨论】:

      猜你喜欢
      • 2018-11-10
      • 2014-10-13
      • 2021-03-18
      • 2022-08-15
      • 2014-04-20
      • 1970-01-01
      • 2015-02-07
      • 2015-06-20
      • 1970-01-01
      相关资源
      最近更新 更多