繁体   English   中英

Eclipse文本编辑器获取光标位置

[英]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控件要困难得多。

您可以使用以下方法获取ITextEditorStyledText

StyledText text = (StyledText)editor.getAdapter(Control.class);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM