gpt4 book ai didi

java - 什么时候调用 getMagic CaretPosition() 是合法的

转载 作者:行者123 更新时间:2023-11-30 04:54:51 25 4
gpt4 key购买 nike

我正在开发一个自动完成功能(包含在插入符号位置下的一个小窗口,建议您将要编写的内容)扩展 JTextPaneKeyAdapter 与此组件相关联,我这样写:

...
@Override
public void keyReleased(KeyEvent e) {
if (Character.isLetterOrDigit(e.getKeyChar())) {
p = getCaret().getMagicCaretPosition();
if (p != null) {
SwingUtilities.convertPointToScreen(p, this);
p.x = p.x + 2;
p.y = p.y + 20;
autocompletion.setLocation(p.x, p.y);
}
}
}
...

问题是有时 getCaret().getMagicCaretPosition() 返回 null,我不明白为什么。

调用此方法或实现此功能的合法方式是什么?

最佳答案

1) 我希望 (小窗口) == JWindow 不要忘记声明 JWindow(Window owner)

2)那么你可以有两种选择使用

3) KeyListener 不是正确的监听器,查看 Document/DocumentListener

4) 最简单、最舒适的方法是实现一个 JTable,并使用 hightlighting

关于java - 什么时候调用 getMagic CaretPosition() 是合法的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8863721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com