[英]Eclipse Text editor get cursor location
我正在开发一个使用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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.