![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
вобщем это требуется для реализации отображения номеров строк.
если будет перенос строки (т.е line wrap == true) то номера все равно будут печататься не учитывая это (без пропусков). а надо чтоб номера печатались только напротив начала линии (т.е в данном случае добавлять нужное количество '\n' в зависимости от строки с индексом i) (см рисунок) или может кто-нибудь предложит другой способ?? Присоединённый файл ( Кол-во скачиваний: 14 )
num1.gif 10,58 Kb |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
|
|||
|
||||
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
это немного не то..
нужно чтоб цифры были на отдельной независимой панельке (например как оформление кода на этом форуме) и при печати текста динамически все прорисовывалось |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
ну естественно!!! то, что я написал, это всего лишь сырец. просто показал некоторые возможности. а дальше самому думать надо ну если следовать моему коду, то можно повесить листенер на клавишу "ентер", и по нажатию ее делать insertComponent(...). а что бы циферки были отдельно, можно например сделать их на другой панели... ну в общем тебе реализовывать... , если что не получится, пиши, здесь помогут. |
|||
|
||||
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
ну так я же спрашивал про то как узнать сколько строчек занимает одна строка (от начала до \n) текста в текстовой области (т.к если она не помещается то происходит ее перенос)(см кортинку в первом посте).
вот если я это узнаю мои проблемы будут решены, тем более и панелька и все остальное у мя уже есть Это сообщение отредактировал(а) philips - 11.4.2008, 22:10 |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
В RowHeaderView нужно поместить не JTextPane, а JList с высотой каждой ячейки равной высоте соответствующей строки в основной JTextPane.
|
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
dorogoyIV, а чем тебе моя идея не нравится?
|
|||
|
||||
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
спасибо всем за помощь!
кстати, применил JList вместо JTextPane, как предлагал math64. так что ему персональное спасибо за наводку. Это сообщение отредактировал(а) philips - 12.4.2008, 21:50 |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
так ведь сам редактор текста состоит из JTextPane и JList. их объединяет JScrollPane (JTextPane как JViewport, JList как RowHeaderView). вся эта система помещается на фрейм.
JList содержит номера линий. в JTextPane печатается текст, ну и еще очень много фишек math64 имел ввиду применить JList вместо второго JTextPane, в котором я держал номера линий. я так и сделал. |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
тогда
только не надо писать
у JScrollPane есть поля - "rowHeader" и "viewport" этой писаниной вводишь в заблуждение Это сообщение отредактировал(а) dorogoyIV - 13.4.2008, 02:37 |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
Работать непосредственно с JViewPort приходится редко - у JScrollPane есть свойство RowHeaderView, доступное через методы getRowHeaderView/setRowHeaderView. Возможно использование RowHeaderView без get/set может кого-то запутать, но philips меня понял.
Ксати, JTextPane будет не JViewport, а [get/set]ViewPortView, но его обычно указывают в конструкторе JScrollPane(Component view). |
|||
|
||||
| philips |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.2.2008 Где: Минск Репутация: 1 Всего: 1 |
чтобы разрешить все споры, вот, что я использовал
Это сообщение отредактировал(а) philips - 13.4.2008, 14:40 |
|||
|
||||
![]()
|
| Правила форума "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. |