簡體   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