Итак, я программирую приложение с использованием Java Swing, и мне интересно, как сделать так, чтобы при изменении размера всего приложения только некоторые панели изменялись по-разному. Посмотрите на две фотографии ниже:Как выбрать, какой размер JPanel в области сплит изменяется при использовании всего приложения. изменяется?
У меня есть три вертикальных панелей, как вы можете видеть. Теперь, когда высота приложения увеличивается, все три высоты панелей также должны увеличиваться, что отлично работает. Однако, когда ширина увеличивается, я хочу, чтобы была увеличена только ширина средней панели (которая будет «рабочей областью»). Вместо этого, как вы можете видеть, третья панель с последним добавляется справа - это единственная, ширина которой увеличивается.
Как это сделать, чтобы только средний JPanel
растягивается & сжимается при изменении размера окна по оси x? Кроме того, позже я хотел бы сделать так, чтобы эта панель рабочего пространства не всегда была посередине; так как пользователь может переместить две другие панели вокруг, чтобы настроить приложение по своему вкусу, например, чтобы две другие панели располагались друг над другом слева, а рабочее пространство справа. Однако независимо от того, где именно, я хочу, чтобы панель рабочей области была той, которая имеет размеры, как мне это сделать?
Бьюсь об заклад, вы можете использовать 'WindowListener', и я думаю, что метод' windowResized() ', выберите вашу' среднюю панель' и соответствующим образом измените ее размер. Я не уверен, что вы можете получить старую ширину (сохранить ее?), Или вы можете сделать «middlepanel.setWidth (window.getWidth() - leftpanel.getWidth() - rightpanel.getWidth());' – CoderMusgrove
См. Также [ Как создать отличные скриншоты?] (Http://meta.stackexchange.com/q/99734/155831) –
Чтобы лучше помочь, опубликуйте [MCVE] (http://stackoverflow.com/help/mcve) (Минимальный Полный проверенный пример) или [SSCCE] (http://www.sscce.org/) (Короткое, самосохранение, правильный пример). Это сделало бы очевидным, что вы имеете в виду панели в (пару) ** компонентов 'JTabbedPane' **! –