我正在尝试在插入位置下方显示工具提示,就像Eclipse在重命名局部变量时提示“输入新名称,按输入重构”一样。我假设我不能使用ToolTip,因为它们绑定到鼠标而不是插入符号,因此我必须根据我的目的调整ToolTipManager.showTipWindow()
代码。这里,唯一的问题是以像素计算插入位置。我试过了:
Caret c = editor.getCaret();
Point location = c.getMagicCaretPosition();
随后使用location
导致NPE。我猜这种情况发生在插入符号不可见时,因此该方法不可靠。有没有办法将TextArea中的字符偏移量转换为Point位置?
答案 0 :(得分:2)
使用modelToView()
的{{1}}方法。