Comecei a fazer um sistema de caixa bem simples, ao invés de usar o JTabbedPane fiz um menu vertical e a esquerda usando jButtons (Cliente, Produto, etc), daí me veio uma dúvida:
Qual o mais correto a se fazer, criar vários JFrames (1 pra Clientes, 1 pra Produto e assim por diante) ou criar só um JFrame principal e depois criar vários JPanels pra ser usado dentro de um único JFrame?
Supondo um sistema diferente em que tenha uma tela para professor e outra para aluno, se o professor for também aluno, seria muito conveniente as telas serem em JPanels, colocaria num JTabbedPane, e dessa forma o professor que também é aluno teria fácil acesso as duas telas.
Outra vantagem é que pode reaproveitar as telas, supondo que tenha a tela de cadastro do produto e tela de atualização do produto, ambas as telas serão muito parecidas, separaria o que há em comum num JPanel e criaria mais dois JPanels específicos para cada caso.
O mais correto é utilizar um JFrame, e utilizar um Container, e quando for alterar o cliente para o produto é só definir o contentPane do jframe para o Container do cliente e virse versa, da tb para implementar um TabbedPane e colocar os container lá
A
Ac_Java
No caso esse exemplo que você citou, TelaProdutoComum, telaProdutoCadastro e TelaProdutoAtualização seriam 3 JFrames que herdam um JPanel que é comum a todos, seria isso?
E outra, quando utilizo JPanels, da muito trabalho pra alinhar 2 JPanels, de forma que ambos fiquem alinhados ao tamanho do JFrame (com o layout definido em Absoluto). Eu até consigo manipular esses JPanels com setVisible() pra mostrar um e esconder o outro, só que as vezes um JPanel acaba entrando dentro do outro JPanel, tem como alinha-los no mesmo lugar, sem ter esse problema?
D
Solucao aceita
diego12
Eu não usaria herança. A ideia de usar JPanels é de criar grupo de componentes e manipula-los como um grupo, outro exemplo: