![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Здравствуйте, уважаемые.
Не смекну, как мне обработать события на вкладках JTabbedPane. В частности меня интересует сценарий, чтобы двойным щелчком по вкладке закрывать ее, как в аськах Miranda, Qip и еще много где. Прошу помочь. Добавлено через 3 минуты и 15 секунд про кнопочку закрытия на каждой вкладке я просто не упоминаю, читал, что там проблемы с развертыванием компонента на всю вкладку. |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 23 Всего: 54 |
Для java 6 должно хватить обработчика мыши на компоненте, используемом в закладке.
Эту проблему можно легко решить с помощью патча (исправленный BasicTabbedPaneUI в bootclasspath). Этот способ для вас приемлем? -------------------- ![]() ![]() |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
да ты наверное и не пробовал, признавайся все ж легко и просто:
|
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
dorogoyIV, нет, не подловил ты меня. Дело в том, что, если кликаешь справа от закладок, т.е. жмакаешь по JTabbedPane, закрывается выделенная, но по идее не должна закрываться никакая! В этом проблема. Прошу прощения, что забыл упомянуть способы которые я перепробовал. Ну собственно, его только я и придумал, но не совсем подходит.
Добавлено через 1 минуту и 3 секунды w1nd, можно поподробней? Я искал такой способ, но примеров так и не нашел. |
|||
|
||||
| dorogoyIV |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
ну это можно обойти:
правда с первым табом не работает, но я думаю и это обойдешь уже сам
в шестой версии проблемы решены Это сообщение отредактировал(а) dorogoyIV - 9.2.2008, 13:43 |
||||||
|
|||||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Я всё таки подожду более элегантное решение.
|
|||
|
||||
| w1nd |
|
||||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 23 Всего: 54 |
В BasicTabbedPaneUI есть такой кусок кода:
Исправляем:
Теперь только подложить этот класс или архив с ним в папку jre endorsed или подключать в свой classpath с помощью ключа -Xbootclasspath/p: А после этого первый вопрос решается обычным слушателем для компонента таба. Работает, конечно, только для java 6. Есть очень извращённый способ решения проблемы без патча, но он тоже будет работать только в java 6; в более ранних версиях - только своя реализация TabbedPaneUI. Это сообщение отредактировал(а) w1nd - 10.2.2008, 00:49 -------------------- ![]() ![]() |
||||
|
|||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
dorogoyIV, спасибо за пищу для ума, всё таки не понял я к чему такое нагромождение, но ключевые моменты мне помогли. Я в итоге сделал проще.
|
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
![]()
|
| Правила форума "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. |