Есть ли какая-либо функция, которую я могу использовать для фактического прохождения номера строки и строки, чтобы выделить слово в этом номере строки. Я понятия не имею, как это сделать.Выделите строку в соответствии с заданным номером строки в JtextArea
Могу загрузить мой файл в JtextArea.
АМ файла загрузки "hello.txt" содержит:
Hello, This
is my first
lesson in Java
Hope You Have a nice
Time.
Я хочу, чтобы функция, чтобы выделить строку "первый" в строке 1.
Мои коды:
import javax.swing.*;
import java.util.*;
import java.io.*;
public class OpenTextFileIntoJTextArea
{
public static void main(String[]args)
{
try
{
FileReader readTextFile=new FileReader("C:\\Hello.py");
Scanner fileReaderScan=new Scanner(readTextFile);
String storeAllString="";
while(fileReaderScan.hasNextLine())
{
String temp=fileReaderScan.nextLine()+"\n";
storeAllString=storeAllString+temp;
}
JTextArea textArea=new JTextArea(storeAllString);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
JScrollPane scrollBarForTextArea=new JScrollPane(textArea,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
JFrame frame=new JFrame("Open text file into JTextArea");
frame.add(scrollBarForTextArea);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
catch(Exception exception)
{
System.out.println("Error in file processing");
}
}
}
См. [это] (http://stackoverflow.com/questions/13074428/how-can-i-set-each-character-to- a-different-color-background-color-in-a-jtextpan/13076649 # 13076649) и его [вариант] (http://stackoverflow.com/questions/12481698/highlighting-few-of-the-words-of -a-текстовый файл открыт-в-кадр/12482171 # 12482171). Также читайте в [Concurrency in Siwng] (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html) и не вызывайте 'setSize' на' JFrame', используя соответствующий 'LayoutManager' и/или переопределить 'getPreferredSize()' и вызвать 'pack()' на 'JFrame', прежде чем устанавливать его видимым. –