Как получить номер строки из GutterIconInfo - RSyntaxTextArea
Я использую RSyntaxTextArea, чтобы сделать редактор кода, и мне нужно знать, в каких строках есть точка останова.
С помощью следующего кода я могу получить смещение текстовой области, где она находит точку останова, но я не могу вычислить только линию каждой точки останова.
версия: rsyntaxtextarea-3.0.0
Выход:
водосточные желоба
Смещение, помеченное точкой останова: 15
Смещение, помеченное точкой останова: 41
СВОЙСТВА ТЕКСТОВОЙ ОБЛАСТИ
Конечное смещение текущей линии: 15
Конечное смещение текущей линии: 18
Количество строк: 11
Есть идеи?
public class Tab extends javax.swing.JPanel {
RSyntaxTextArea textArea;
RTextScrollPane sp;
Gutter gutter;
public Tab(){
initComponents();
this.setLayout(new BorderLayout());
AtextArea = new RSyntaxTextArea();
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVASCRIPT);
textArea.setCodeFoldingEnabled(true);
textArea.setCurrentLineHighlightColor(new Color(227, 242, 253, 200));
textArea.setFadeCurrentLineHighlight(true);
textArea.setBorder(BorderFactory.createEmptyBorder());
sp = new RTextScrollPane(textArea);
gutter = sp.getGutter();
ImageIcon breakPoint = new ImageIcon(System.getProperty("user.dir") + "/src/olc2/dew/sources/icons/024-break-point.png");
gutter.setBookmarkIcon(breakPoint);
gutter.setFoldIndicatorEnabled(true);
gutter.setBookmarkingEnabled(true);
this.add(sp);
}
public void showGutters() {
GutterIconInfo[] breakPoints = gutter.getBookmarks();
System.out.println("GUTTERS");
for (GutterIconInfo breakPoint : breakPoints) {
System.out.println("Break Point Marked Offset: " + breakPoint.getMarkedOffset());//Show the offset until to find a break point
}
//I need only the break point number line, don't the offset
System.out.println("TEXT AREA PROPERTIES");
System.out.println("End Offset of Current Line: " + textArea.getLineStartOffsetOfCurrentLine());
System.out.println("End Offset of Current Line: " + textArea.getLineEndOffsetOfCurrentLine());
System.out.println("Line Count: " + textArea.getLineCount());
System.out.println("Line Height: " + textArea.getLineHeight());
}
}