Создание нового графического интерфейса в Java (1.8) Swing, я ищу способ переопределить поведение изменения всех моих компонентов.Как динамически управлять компонентами автоматического изменения размера в Java Swing
Позвольте мне объяснить вам с некоторыми отредактированных фотографий:
1. Полный экран GUI
Это мой полный графический экран, с 3-мя панелями и JToolBar
. Зеленый цвет должен иметь фиксированный размер, остальные будут resizable.
В настоящее время у меня есть только 2 маленьких GridLayout
, чтобы организовать их (одна вертикальная и одна горизонтальная для зеленых и голубых панелей).
2. Малый горизонтального размер
Если я, например, уменьшить размер кадра с правой стороны, я хочу, чтобы моя синяя и голубая панель, чтобы быть изменен в соответствии с новой рамой размер. Но зеленая панель должна быть исправлена . (Не самая трудная часть, я думаю.)
3. Минимальный размер по горизонтали
Это самая трудная часть для меня. Как только голубая (или синяя) панель достигает минимального размера, я хочу, чтобы он «push» зеленую панель влево, даже если она исчезает с рамки.
Конечно, потянув рамку вправо, снова появится зеленая панель.
Как я могу это сделать?
Я думал об использовании JSplitPane
или конкретного слушателя, чтобы вручную определить поведение изменения размера, но мне нужен совет.
Извините, если существующее сообщение может ответить на этот вопрос, я не нашел ответа, объясняющего эту проблему.
Заранее спасибо!
Если вы хотите больше примеров, посмотрите на программное обеспечение «Evernote», который действует так же, как
Отличное объяснение поведения, которое вы ищете. Вы можете взломать что-то вместе с «ComponentListener», но, вероятно, это не очень хороший способ сделать это. Надеюсь, что кто-то, у кого больше опыта, чем я, увидит это и знает лучший способ. – Radiodef