|
0 / 0 / 1
Регистрация: 12.08.2009
Сообщений: 145
|
||||||
JTextPane и проблемы с атрибутами текста15.08.2011, 09:31. Показов 4503. Ответов 16
Метки нет (Все метки)
Привет. Написал свой редактор формул. Использую JtextPane и новый StyledDocument. Есть зарезервированные слова (функции и переменные). Все красится как в IDEA. Но проблемы в том что когда текст состоит скажем из 1500 строк то при открытии редактора все зависает на 1 мин.
Раскрасу я делаю путем поиска слов и контроля их.
Хочу спросить может есть другой альтернативный путь? Есть идеи?
0
|
||||||
| 15.08.2011, 09:31 | |
|
Ответы с готовыми решениями:
16
Запретить редактирование текста в JTextPane Смена кодировки текста в JTextPane |
|
1 / 1 / 1
Регистрация: 07.03.2011
Сообщений: 117
|
|
| 15.08.2011, 10:47 | |
|
Можно попробовать использовать регулярные выражения. Но даст ли это прирост в скорости, не знаю.
0
|
|
|
kettler
|
|
| 15.08.2011, 13:15 | |
|
Конечно так будет очень долго просматривать каждый раз весь техст и на каждое слово вызывать фукцию редактирования.
Попробуй использовать встроенные возможности JTextPane. Например, он ведь понимает HTML разметку и если ты свои ключевые слова свяжешь с таблицей стилей, то они будут подкрашиваться или выделяться как ты захочешь. |
|
|
0 / 0 / 1
Регистрация: 12.08.2009
Сообщений: 145
|
|
| 15.08.2011, 13:23 [ТС] | |
|
а поподробнее.. если можеш... плиззз
0
|
|
|
0 / 0 / 1
Регистрация: 12.08.2009
Сообщений: 145
|
|
| 15.08.2011, 15:01 [ТС] | |
|
класную вещь нашел люди...
хотя не по теме но ОЧЕНЬ полезная.. с помощью её можно создать свой редактор кодов с зарезервироваными словами.. плюс можно делать коменты.. коменты красятся в серый цвет.. если надо могу дать ссылку
0
|
|
|
3 / 3 / 7
Регистрация: 19.10.2009
Сообщений: 225
|
|
| 15.08.2011, 19:13 | |
|
При загрузке данных создаешь объект класса DefaultStyledDocument и в него добавляешь все слова с соответствующими стилями. А потом подключаешь этот документ к своему TextPane. Работает намного быстрее.
0
|
|
|
0 / 0 / 1
Регистрация: 12.08.2009
Сообщений: 145
|
|
| 16.08.2011, 08:10 [ТС] | |
|
ТО КорешДроу...
Ведь чтобы добавить нужно сперва найти это слово в тексте. А потом уже применять на него стиль. Не такли? Или же есть метод прикотором сперва перед тем как передать текст в StyledDocument можно создать список зарезервированных слов после чего StyledDocuemnt сам найдет и сам раскрасить эти слова?
0
|
|
|
3 / 3 / 7
Регистрация: 19.10.2009
Сообщений: 225
|
||||||
| 16.08.2011, 14:36 | ||||||
|
Ну вот тебе очень простенький пример:
0
|
||||||
|
0 / 0 / 1
Регистрация: 12.08.2009
Сообщений: 145
|
|
| 16.08.2011, 14:44 [ТС] | |
|
спасиб тебе КорешДроу..
Но проблема в том что в файле например 1500 строк.. то это дело занимает около 1 мин. например я нашел другой вариант http://www.discoverteenergy.com/files/SyntaxDocument.java но тоже занимает такое время.. у меня уже есть свой механизм... просто хотел спросить может без поиска можно было обойтись.... а так всем спасибо за помощь!
0
|
|
|
1 / 1 / 3
Регистрация: 03.08.2008
Сообщений: 390
|
|
| 16.08.2011, 15:30 | |
|
JEdit не пробовал ?
0
|
|
|
0 / 0 / 1
Регистрация: 12.08.2009
Сообщений: 145
|
|
| 16.08.2011, 15:31 [ТС] | |
|
а что это?
0
|
|
|
freem
|
|
| 16.08.2011, 15:32 | |
|
А ещё наверно можно руками распарсить...наверняка быстрее будет...
я имею в виду конечные аутоматы... |
|
|
0 / 0 / 1
Регистрация: 12.08.2009
Сообщений: 145
|
|
| 16.08.2011, 16:06 [ТС] | |
|
распаристь руками??? и как это будет выглядеть...
опиши...??
0
|
|
|
freem
|
|
| 16.08.2011, 16:33 | |
|
Ну как, как...тебе что нужно ? ключевые слова подсветить ?
Ну вот...есть такая штука конечный автомат...я недавно кстати тут по этому вопросу вопрошал... ну и всё...используя конечный автомат..за один перебор всего текста посимвольно ты можешь его....эээ...да что угодно его можешь...можешь раскрасить можешь выполнить.... Вот тут примерчик есть...разбор HTML ну и когда сможешь выделить конкретный токен, можешь его т подсветить http://rsdn.ru/article/alg/statemachine.xml |
|
|
0 / 0 / 1
Регистрация: 12.08.2009
Сообщений: 145
|
|
| 16.08.2011, 16:47 [ТС] | |
|
и ещё.. забыл сказать.. что весь механизм должен работать не только при первом открытии но и во время редактирования...
как например в идеи.. у меня типа так $Myvar.getAttr('Подписант.должность') тут $Myvar должет маркироватся стилем для переменных а getAttr стилем для функций и все должно учитыватться.. точки, скобки и тд итп.. как я понял freem твой вариант работает только при открытии... те парсит один раз... не так ли?
0
|
|
|
freem
|
|
| 16.08.2011, 16:54 | |
|
Правильно ты понял...
но это просто обший пример... никто не мешает тебе засунуть это дело в нить/процес/поток и парсить всё сколько угодно...скорость столь больших формул думаю позволит....Это если в лоб... А так можно придумать что нибудь, например отслеживать изменения и парсить тока изменившийс кусок...но это уж кто на что горазд... Я просто предложил как вариант... |
|
|
freem
|
|
| 16.08.2011, 16:55 | |
|
>> скорость столь больших формул думаю позволит....
я имел ввиду скорость печати... мол печатать медленно будет... Ёпть, раньше буквы выпадали, сейчас целые слова...неужто старость ? |
|
| 16.08.2011, 16:55 | |
|
Помогаю со студенческими работами здесь
17
Вывод текста jTextPane с html Как вернуть фокус в начало текста в JTextPane? Как отследить событие ввода текста в jTextPane? JEditorPane: сохранение текста вместе с атрибутами
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|