![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Scarlett |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 14.12.2006 Репутация: нет Всего: 1 |
возникла проблема при работе с панелями
суть такая, что есть две панели одна всегда должна быть видна, а другая при уменьшении размера должна быть в скроллинге когда происходит уменьшение размера окна с нижней границы болле менее нормально но при передвижении правой границы правая панель накладывается на все и получаются глюки привожу код: код создания главной панели, которая будет помещаться на фрейм:
буду рада если кто-то поможет или объяснит |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Совершенно не понятно в чем проблема. Выложите код который можно запустить и посмотреть собственными глазами что не так.
|
|||
|
||||
| Foo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 20.10.2006 Репутация: 2 Всего: 3 |
если телепатически, то может быть проблема в boardView.setMinSize(). Попробуй сделать его 0.
--------------------
qip |
|||
|
||||
| Scarlett |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 14.12.2006 Репутация: нет Всего: 1 |
оказалось, что проблема возникает, когда я добавляю вторую панель
если она стандартная - JPanel, то все нормально если же со всеми компонентами и лейотами, то возникает проблема. я написала простенький пример, только с этими компонентами выкладывают источник Присоединённый файл ( Кол-во скачиваний: 5 )
gui_panel.java 9,09 Kb |
|||
|
||||
| Scarlett |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 14.12.2006 Репутация: нет Всего: 1 |
при последующем исследовании оказалось, что в панели tools, если добавлять на ее уровень панель с одним компонентом, то она работает нормально. если же количество компонентов на такой панели увеличивается, то происходят глюки
есть ли тогда ограничение на количество компонентов, которые можно размещать в контейнере и уровней вложенности? если да, то какие? спасибо. |
|||
|
||||
| Foo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 20.10.2006 Репутация: 2 Всего: 3 |
у меня вроде все нормально отображается... Правая целая, на левой при уменьшении появляется скролл...
--------------------
qip |
|||
|
||||
| Scarlett |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 14.12.2006 Репутация: нет Всего: 1 |
даже если уменьшается размер за правую границу фрейма до самого минимального?
правая панель всегда остается целой? тогда я ничего не понимаю... у меня как ни крути возникают проблемы. при этом как только добавляется компонент справа получается своего рода такой рисунок Присоединённый файл ( Кол-во скачиваний: 3 )
temp.JPG 9,79 Kb |
|||
|
||||
| powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Нормальный глюк.
Что видно в исходниках javax.swing.JCompenent
В вашем случае все усугубилось тем фактом, что компонент находящийся в BorderLayout.EAST не меняет размеров по ширине. Так видимо задумано его разработчиками. Поэтому при сжатии фрайма по ширине, он (компонент) просто заежает за экран совершенно не считаясь с наличием рамки у своего контейнера.... В результате происходит такой неприятный эффект... Что я Вам могу предложить в этой ситуации? Так это не использовать рамку для верхней панели:
Это сообщение отредактировал(а) powerOn - 5.1.2007, 20:09 |
||||
|
|||||
| Scarlett |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 14.12.2006 Репутация: нет Всего: 1 |
в данном случае здесь главное даже не то, что происходит заезжание за рамку
необходимо, чтобы правая панель была видна полностью а левая в скроллинге т.е. должно быть всегда видно, что они есть. возможно, что все дело в минимальном размере фрейма. можно ли его как-то установить. т.е. сделать таким, после чего дальнейшее уменьшение размера не предусматривалось? |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Минимальный размер фрейма хочешь задать? начни отсюда. тут скроре всего нужно поиграть с другими менеджерами расположений. Поскольку BorderLayout гнет центральный компонент как хочет, несмотря на все setMinimumSize() и setPriferredSize(). |
|||
|
||||
| Scarlett |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 14.12.2006 Репутация: нет Всего: 1 |
я уже тогда решила отслеживать изменение размера фрейма
и если он меньше моего минимального, тогда устанавливать свой минимальный дело в том, что какой я менеджер бы не использовала если окно меньше, то то, что нужно, не видно, а это не соответствует задаче сейчас посмотрю то, что ты мне скинул спасибо за попытку помочь Добавлено @ 21:43 оказалось, что я правильно минимальный размер отслеживаю спасибо. Добавлено @ 21:43 пока не помечаю как решенный, если пройдет тогда отмечу ;) |
|||
|
||||
![]()
|
| Правила форума "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. |