续前文Java实现"命令式"简易文本编辑器原型. 效果如下:
所在源码库同上文, 尚未和上文的编辑器右侧的命令区集成. 代码由How to show autocomplete as I type in JTextArea?修改得来.
基本功能
- 英文输入至少一个匹配词典的字母后, 显示提示框
- 上下光标选中某提示项后按空格键自动替换
- 弹出提示框后, 如果继续键入, 提示框隐藏后, 根据新键入继续提示. 比如上面输入't'后提示"退出"和"粘贴"两项, 继续输入'c'后就只显示"退出"
IDE和中文输入法的深度集成是必然趋势. 虽然现在第三方的中文输入法可以解决"输入"的基本功能, 但在IDE自动补全/智能提示功能日益成为开发效率提升的必需辅助功能的现今, 只有实现了中文输入法和IDE补全/提示的集成, 中文编程才能更接近实用. 这早已在易语言开发环境中实现, 期待早日看到开源项目实现类似功能.
源码简单说明
监听文本框的按键输入, 并准备弹出提示框:
文本区
弹出之前, 先获取此次输入的字符串, 并基于它生成/更新提示框:
private
提示框部分, 由一个列表来管理提示项的选择, 文本的替换:
private
当然少不了一个字符->中文词典(如下), 实际应用时需要基于拼音生成提示的算法
private