Как выделить строку в JTextarea по началу и конечной позиции в Java?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как выделить строку в JTextarea по началу и конечной позиции в Java?

Сообщение Anonymous »

У меня есть текстовый файл, который читается в JTextArea.

Код: Выделить всё

public class John {
public static void main(String[] args)
{
System.out.println("Hello World");

in x;
}
}
< /code>
Компилятор дает мне позиции, в которых ошибка произошла в этом формате: < /p>
Code: compiler.err.cant.resolve.location
Kind: ERROR
Line Number: 7
End position: 118
Start Position: 116
< /code>
Но когда я использую эти позиции в моем коде Highligher, он не подчеркивает то, что я хочу. Вот что я получаю как вывод. Я считаю, что позиции изменяются по мере их загрузки в JTextArea.import java.awt.*;
import java.io.FileReader;

import javax.swing.*;
import javax.swing.text.*;

public class KerlovHighlighter {

private static final long serialVersionUID = 1 L;
private Highlighter.HighlightPainter cyanPainter;
private Highlighter.HighlightPainter redPainter;

public KerlovHighlighter() {
JFrame frame = new JFrame();
JTextPane textPane = new JTextPane();
try {
textPane.read(new FileReader("C:\\Users\\Antish\\workspace\\Testing\\src\\MyC.java"), null);
} catch (Exception e) {
System.out.println("Failed to load file ");
System.out.println(e);
}
JScrollPane scrollPane = new JScrollPane(textPane);
frame.add(scrollPane, BorderLayout.CENTER); //  Highlight some text
cyanPainter = new DefaultHighlighter.DefaultHighlightPainter(Color.cyan);
redPainter = new DefaultHighlighter.DefaultHighlightPainter(Color.red);
try {
textPane.getHighlighter().addHighlight(116, 118, DefaultHighlighter.DefaultPainter);

} catch (BadLocationException ble) {}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(300, 200));
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {

@Override
public void run() {
KerlovHighlighter tph = new KerlovHighlighter();
}
});
}
}
исходный текстовый файл:
http://www.mediafire.com/?aiufxocfj0xm21e?


Подробнее здесь: https://stackoverflow.com/questions/150 ... on-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»