上午有这是在JTextArea中被读取的文本文件。如何突出显示在JTextArea中由开始的字符串和结束位置在Java中
我还有一个程序,让我在文本文件中的字符串的开始和结束位置。
,但我在JTextArea中应用荧光笔时,它不强调我想要的。
我的文本文件包含:
public class John {
public static void main(String[] args)
{
System.out.println("Hello World");
in x;
}
}
我有一个编译器,让我在哪里,在这个格式发生错误的位置:
Code: compiler.err.cant.resolve.location
Kind: ERROR
Line Number: 7
End position: 118
Start Position: 116
强大的文本* 但是当我在荧光笔代码中使用这些位置时,它不会突出显示我想要的。 E.G“in”只应该是荧光笔。这是我得到的输出。我相信这些职位正在被加载到JTextArea中时发生变化。 *强大的文本
荧光笔代码:
import java.awt.*;
import java.io.FileReader;
import javax.swing.*;
import javax.swing.text.*;
public class KerlovHighlighter {
private static final long serialVersionUID = 1L;
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();
}
});
}
}
从代码的输出:
[1]: http://prntscr.com/tuyqw "Output of Program"
原文文件: http://www.mediafire.com/?aiufxocfj0xm21e?
可有人help.Thank您
那么我将如何调用我的TextFile? Myc.Java – 2013-02-23 17:38:54
我在谈论一个SSCCE,你使用源文件来展示你的问题。一旦问题得到解决,您就可以使用真实文件。 – camickr 2013-02-23 20:00:50