Salve pessoal, tentei pesquisar e não encontrei em nenhum lugar a solução, vou tentar adicionar todas as informações possíveis para melhor compreensão e vocês me ajudarem.
enter image description here
Na imagem acima mostra meu programa de inventario que estou criando. A intenção é que quando clicar em um dos botões ira aparecer uma outra janela nesse campo amarelo.
A categoria views é composta pelas classes Windows que extende JFrame, que chama uma JPanel e um JDesktopPane. Esses botões estão dentro de um JPanel, e a área em amarelo é um JDesktopPane. Ao clica por exemplo no botão Dashboard a intenção era adicionar uma classe dashboard que extende JInternalFrame porem apresenta o erro abaixo.
enter image description here
Esse erro é apresentado quando clico duas vezes no botão dashboard(o botão que usei como exemplo).
Eu testei a minha classe JDesktopPane mudando a cor da area em amarelo ao clicar nos outros botões e funcionou normalmente como pode ver nas fotos abaixo.
enter image description here
Porem quando tento adicionar o JInternalFrame chamado dashboard não exibe.
vou deixar o codigo do GitHub disponivel para voces me ajudarem e uma desenho que fiz a mão para entender o Layout das janelas. Desde já agradeço a atenção.
codigo GITHUB: https://github.com/washingtonantunes/Inventory
enter image description here
Clonei seu projeto aqui e executei e não apareceu esse erro. Na verdade, um erro que apareceu foi outro referente aos ícones, que está com o caminho do ícone errado. Arrumei e rodei o projeto e não deu nenhum outro erro.
Obrigado pela atenção Lucas.
Desculpe eu coloquei no git hub o codigo apenas para mudar a cor de fundo, mas segue o codigo que deve esta dentro do metodo do botão dashboard:
private void buttonDashboardActionPerformed(ActionEvent evt) {
//mainDisplayPanel.setBackground(Color.RED);
Dashboard dashboard = new Dashboard();
mainDisplayPanel.add(dashboard);
dashboard.setVisible(true);
}
1 curtida
Não tem essa classe Dashboard no projeto. Ela herda de JPanel?
Agradeço novamente Lucas.
Eu atualizei o git com as classes Dashboard.
O que eu gostaria que acontece é que fosse adicionada a classe Dashboard. Mais eu gostaria que cada classe cuidasse das suas funções, por isso criei um JDesktopPane chamado MainDisplayPanel que iria receber as JInternalFrame que são as classes Dashboard, Report e Layout.
A classe MainButtonsPanel iria gerenciar somente os botoes de cima e quando fosse acionado um botão ele iria chamar a classe MainDisplayPanel que chamaria um metodo para adicionar umas das tres JInternalFrame.
Adicionei algumas informações, se não entender por favor me chama no Discord.
meu discord: Joyn_Gamer#2188
Depois de horas e horas pesquisando novamente e estudando os gerenciadores de Layout, conseguir resolver. Li e entendi como funciona cada gerenciador para achar a solução.
Na minha classe MainDisplayPanel eu configurei o CardLayout que só exibe um Contêiner de cada vez. Ai ao clicar no botão eu removo todos os outros contêiner e adiciono o que eu quero.
Git atualizado e agradeço a atenção em ajudar @Lucas_Camara.
1 curtida