Как переключать панели внутри рамки в зависимости от действия кнопки?
-
20-08-2019 - |
Вопрос
Я создал приложение с панелью инструментов, меню и областью содержимого. Я добавил меню и панель инструментов в окно приложения, но я застрял с отображением панели в области содержимого в зависимости от действия кнопки (например, добавить, отобразить), которое нажимается на панели инструментов. Это правильный способ сделать это? Есть ли лучший способ сделать это?
Решение
Если я правильно понимаю, вы хотите иметь несколько JPanels
, только один из которых отображается одновременно? В этом случае это звучит как CardLayout
это то, что вам нужно. Вы в основном добавьте все свои <=> к нему с уникальными именами, а затем вы можете <<>> сказать, какие из них show .
Другие советы
Я думаю, что CardLayout, вероятно, то, что вам нужно, но если что-то вроде использования памяти является проблемой, и вы действительно хотите удалить и добавить новый JPanel / Компонент, вам нужно удалить старый JPanel и добавить новый (с надлежащим ограничения и / или индекс в зависимости от макета). Вам нужно будет проверить () панель содержимого после того, как вы сделаете это.