我正在开发一个使用 eclipse 插件开发环境(PDE)推荐代码的插件。目前我正在致力于界面设计。问题是我想获取 Eclipse 编辑器中的光标位置并在该位置打开 JFrame。我尝试在文档和论坛的帮助下获取位置,但到目前为止只能获取偏移量,或者您可以说行和列偏移量。我想将它放在代表位置的点(x,y)中。那么如何获取光标位置有什么想法吗?
最佳答案
假设您有编辑器的 StyledText
控件,请使用 getCaretOffset
获取插入符号偏移量:
StyledText text = ... get editor styled text
int caret = text.getCaretOffset();
然后调用getLocationAtOffset
获取相对于控件偏移的x、y坐标:
Point point = text.getLocationAtOffset(caret);
如有必要,您可以将其转换为相对于显示的值:
point = text.toDisplay(point);
请注意,Eclipse 插件通常使用 SWT,而不是 Swing。打开 JFrame 会比打开 SWT 控件困难很多。
您可以使用以下方法获取 ITextEditor
的 StyledText
:
StyledText text = (StyledText)editor.getAdapter(Control.class);
关于java - Eclipse文本编辑器获取光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40732079/