![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 23 Всего: 54 |
Надеюсь, все в курсе относительно того, что в Java SE 6 появились некоторые нововведения в компонентах Swing. В частности, появилась возможность устанавливать в javax.swing.JTabbedPane не только текст и/или значок для каждой закладки, но и компонент.
НО. Автор(ы) сего изменения то ли со злобы, то ли от недальновидности решили, что этот компонент не следует растягивать на всю площадь закладки, а следует центрировать. И не предусмотрели никаких настроек на этот случай. Собственно, задача. Как заставить JTabbedPane размещать компонент по всей площади закладки (разумеется, с учётом отступов) и не лишиться при этом всего многообразия существующих look-n-feel'ов? -------------------- ![]() ![]() |
|||
|
||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 15 Всего: 27 |
М-м. А можно скриншот неустраивающего поведения? Просто, когда я с этим игрался таких проблем не возникало.
-------------------- ![]() |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 23 Всего: 54 |
-------------------- ![]() ![]() |
|||
|
||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 15 Всего: 27 |
Да, действительно. Просто я использовал SCROLL_TAB_LAYOUT, поэтому было не заметно.
А собака порыта скорее всего в BasicTabbedPaneUI Это сообщение отредактировал(а) fixxer - 27.11.2007, 17:08 -------------------- ![]() |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 23 Всего: 54 |
Где зарыта несчастная - понятно. Надо бы откопать -------------------- ![]() ![]() |
|||
|
||||
| powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Теоретически, добавляя компонент на закладку, мы его добавляем в какой-то контейнер. Практически этот контейнер приватный класс BasicTabbedPaneUI.TabContainer, который судя по исходникам является наследником JPanel. Опять же по теории получив ссылку на контейнер, то можно добавлять туда какой хочешь LayoutManager и набор подкомпонентов.
Получить ссылку на контейнер можно таким трюком:
Но вот дальнейшее изменение layout-а, ни к чему не привело :( Вернее установить его можно:
но, чтобы лайаут принял силу, нужно выполнить doLayout() для контейнера, который успешно переопределен разработчиками в классе BasicTabbedPaneUI.TabContainer без вызова метода супер-класса... :( что естественно не позволяет новому LM вступить в силу... Либо нужно еще копать, либо придется расширять BasicTabbedPaneUI чтобы подправить логику TabContainer (как пока не знаю).... |
||||
|
|||||
![]()
|
| Правила форума "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. |