Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> разноцветный текст 
:(
    Опции темы
Гость_костя
Дата 5.12.2004, 20:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Как сделать текст в котором будут слова разных цветов и с разной толщиной букв?

Как в этом тексте сделать поиск слов по заданному образцу ?

Можно использовать для этого текста JTextPane ?

  Вверх
Domestic Cat
Дата 5.12.2004, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Это позволяют сделать JTextPane и JEditorPane. Поиск осуществляется обычным образом, получаешь Document и вперед.
Более подробно см. тут:

http://java.sun.com/docs/books/tutorial/ui...nents/text.html


--------------------

PM   Вверх
Guest
Дата 5.12.2004, 21:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо !

а на русском языке ничего нет ?
  Вверх
Domestic Cat
Дата 6.12.2004, 03:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата(Guest @ 5.12.2004, 12:51)

а на русском языке ничего нет ?


Может кто подскажет ? Я не знаю.

Приглашаю также зарегистрироваться на форуме. smile


--------------------

PM   Вверх
Leopard25
Дата 6.12.2004, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 17.4.2004

Репутация: нет
Всего: нет



В JTextPane ввожу текст.
нахожу нужное слово :

StyledDocument doc = m_SourceTextPane.getStyledDocument();
Style style = m_SourceTextPane.addStyle("Selector", null);
StyleConstants.setForeground(style, Color.red);
StyleConstants.setBold(style,true);

int lenght = doc.getLength();
String s,s1;
s = m_SourceTextPane.getText();

for (int i=0;i<lenght-9;i++)
{
s1 = s.substring(i,i+9);
if ("perimeter".equals(s1))
{
// закрашиваем слово красным
doc.setCharacterAttributes(i, 9,m_SourceTextPane.getStyle("Selector"), true);
}
}

Проблема в том , что если имеем текст :
perimeter
perimeter
perimeter
perimeter
perimeter
perimeter

то целиком будет закрашено только первое слово .
второе начиная со второй буквы , третье с третьей и тд.

слово находиться правильно .

когда я использую substring он учитывает перевод строки ,а
когда setCharacterAttributes закрашивает то он неучитывает и
из-за этого с каждой новой строкой происходит сдвиг.
Как это исправить?
--------------------
Обдумай, верно ли и возможно ли то, что ты обещаешь, ибо обещание - есть долг. ( Конфуций )
PM MAIL ICQ   Вверх
Domestic Cat
Дата 6.12.2004, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172





--------------------

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0724 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.