Estou tendo dificuldade para criar telas diferentespara o usuário sem usar painéis de guias. No Netbeans, criei o Swing Frame e, depois que um usuário entra, como atualizar a página para que o conteúdo da tela seja substituído por outra tela ou JPanel ou JTabbedPanel? Devo criar no pacote da GUI, o Swing Frame principal e, em seguida, outros Swing Frames, para que o Swing Frame principal mostre conteúdo diferente, dependendo da ação do usuário, que possa usar quadros ou painéis de outros Swing Frames?
Respostas:
0 para resposta № 1Aqui está uma solução possível:
Use classes múltiplas que estendem o JPanel, cada uma representando uma "fase" específica do aplicativo. Portanto, se você tiver uma tela de login e um menu principal, por exemplo, mantenha-os em duas classes separadas:
classe pública LoginPanel estende o JPanel classe pública MainScreen estende JPanel
Para adicioná-lo ao JFrame, chame [setContentPane (Container contentPane)]. Nesse caso, seria: frame.setContentPane (novo LoginPanel)
Depois de validadas as credenciais do usuário, chame setContentPane () no quadro com uma nova instância MainScreen. Nota do javadoc:
Se você substituir o painel de conteúdo, é recomendável substituí-lo por um JComponent opaco.
Além disso, para definir o JFrame para o tamanho preferido do painel de conteúdo, chame frame.pack () depois de adicionar o novo conteúdo.
À medida que sua quantidade de JPanels diferentes cresce, éprovavelmente seria mais fácil ter um JPanel "titular" como o painel de conteúdo do JFrame sem propriedades e, em seguida, você pode simplesmente remover / adicionar a isso. Dessa forma, você pode manter componentes constantes que duram por todo o ciclo de vida do aplicativo, como JMenuBar no JFrame, sem ter que se preocupar em adicioná-lo ao JFrame a cada vez.
[1]: