Выделить предложение в текстовой области - PullRequest
4 голосов
/ 10 мая 2011

Мне нужно написать программу, в которой я должен выделить предложение в JTextarea.У меня есть один файл, который называется оригинальный файл и сводный файл.Исходный файл будет отображаться в текстовом поле, и мне нужно выделить все предложения итогового файла в текстовом поле.

Например, .Если в оригинальном файле содержится , Тендулкар родился в Бомбее (ныне Мумбаи). Его мать Раджни работала в сфере страхования, а его отец Рамеш Тендулкар, романист по маратхи, назвал Тендулкара в честь своего любимого музыкального руководителя Сачина Дев Бирмана.старший брат Аджит призвал его играть в крикет. У Тендулкара есть два других брата и сестры: брат Нитин и сестра Савита. "

Над текстом отображается текстовая область.

В итоговом файле у меня есть "Тендулкар родился в Бомбее (ныне Мумбаи). У Тендулкара есть два других родных брата: брат Нитин и сестра Савита."

Iхочу, чтобы эти предложения были выделены в текстовой области.Пожалуйста, кто-нибудь может сказать мне, как я могу это сделать?Заранее спасибо:)

Ответы [ 2 ]

8 голосов
/ 10 мая 2011

Вы можете использовать Highlighter:

Highlighter h = textArea.getHighlighter();
h.removeAllHighlights();
int pos = originalText.indexOf(summaryText, 0);
h.addHighlight(pos ,
               pos  + summaryText.Length,
               DefaultHighlighter.DefaultPainter);
2 голосов
/ 10 мая 2011

Согласно Учебное пособие по Java :

JTextArea может отображать несколько строк редактируемого текста.Хотя текстовая область может отображать текст любым шрифтом, весь текст написан одним шрифтом.Используйте текстовую область, чтобы позволить пользователю вводить неформатированный текст любой длины или отображать неформатированную справочную информацию.

Вы можете использовать JEditorPane и его подкласс JTextPane для использования областей расширенного текста в Swing вместо простого JTextArea.

...