Como faço para mudar painéis dentro de um quadro em função de uma ação do botão?
-
20-08-2019 - |
Pergunta
Eu criei um aplicativo que tem uma barra de ferramentas, menu e área de conteúdo. Eu adicionei o menu e barra de ferramentas para a janela do aplicativo, mas eu estou preso com a exibição do painel na área de conteúdo com base na ação botão (como add, display) que é clicado através da barra de ferramentas. É este um caminho certo para fazer isso? Existe alguma maneira melhor de fazer isso?
Solução
Se bem entendi, você quer ter múltiplos JPanels
, das quais apenas uma é mostrada de cada vez? Se for esse o caso, isso soa como um CardLayout
é o que você precisa. Você basicamente adicionar todo o seu JPanels
a ele com nomes exclusivos, e então você pode dizer a CardLayout
qual deles para mostrar .
Outras dicas
Eu acho CardLayout é provavelmente o que você quer, mas se algo como o uso de memória é uma preocupação e você realmente deseja remover e adicionar um novo JPanel / Component, você precisa remover o antigo JPanel e adicionar o novo (com adequada restrições e / ou índice de acordo com o esquema). Você vai ter que validate (), o painel de conteúdo depois de fazer a troca.