![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
собственно, как можно реализовать отображение непечатаемых символов (пробела, табуляции и др)??
спс заранее.. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Отображение где? Самый простой заменить их на некие отображаемые. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
отображение на текстовом поле (JTextPane либо JTextArea).
хотелось бы не тупо заменять символы а например при табуляции нарисовать стрелочку от начала табуляции и до конца (может быть разной длины), при пробеле точка по середине, на месте перевода строки знак "П" и тд. чтоб все красиво было и при замене символов думаю будут разные неудобства в дальнейшем. :/ |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Посмотри в сторону Highlighter-а. Вот пример который подсвечивает слово public, тебе нужно переделать его чтобы он рисовал непечатаемые символы.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
в интерфейсе Highlighter.HighlightPainter есть метод
public void paint(Graphics g, int p0, int p1, Shape bounds, JTextComponent c)
p0 и p1 это смещение в тексте подсвечиваемого участка. как это смещение перевести в координаты x и y относительно текстового компонента, чтобы можно было рисовать на этом самом участке. и при рисовании например обычного примоугольника в углу компонента, получается что он находится за текстом и при выделении текста он затирается. как быть?? может еще какие-нибудь есть способы?? :/ оффтоп: как в JTextPane реализовать размер табуляции и wrapLine как это реализовано в JTextArea?? Присоединённый файл ( Кол-во скачиваний: 8 )
1.GIF 13,65 Kb |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
У тебя есть Shape это и есть границы в которых ты должен рисовать.
Highlight не затирается. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
хм... bounds как я понял содержит границы всего текстового компонента
System.out.println(bounds.getBounds().x); System.out.println(bounds.getBounds().y); System.out.println(bounds.getBounds().width); System.out.println(bounds.getBounds().height); выводит 0 0 676 208 а как узнать именно координаты текущего участка?? Это сообщение отредактировал(а) philips - 21.3.2008, 14:38 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Use the source Luke
Посмотри как это делается в DefaultHighlightPainter
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
вот..
вроде бы работает при анализе текста целиком, но при попытке анализа и рисования при вводе символов какая-то ерунда происходит. :( и все же может есть другой способ, а то этот как-то не особо катит :/ |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
может можно как-то переопределить как должен рисоваться тот или иной символ??
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |