Gostaria de criar um processo em que o sistema solicitará informações do usuário do tipo: Nome e logo abaixo terá 2 botões (Avançar e Voltar).
Desta forma, o usuário poderá tanto avançar para o próximo passo como também voltar, para por exemplo redigitar o Nome na primeira tela.
Qual a melhor prática para se fazer este tipo de interface?
Da forma que estou fazendo não esta ficando legal rss…
Que tal você criar todos os painéis que você terá no formulário e, ao clicar em "Avançar" ou "Voltar", você pode apagar todo o conteúdo do painel central e desenhar o novo painel!
Algo do tipo:
publicInterfaceAvancarAvancarConcluirextendsJFrame{JPanelpanelPrimeiro,panelSegundo,panelTerceiro,panelBotoes;JButtonbuttonAvancarPrimeiro,buttonAvancarSegundo,buttonConcluir;publicInterfaceAvancarAvancarConcluir(){//...Containercontainer=getContentPane();container.add(recuperarPanelPrimeiro());container.add(recuperarPanelBotoes());setContentPane(container);}// LIMPA TODOS OS PAINÉIS DO FORMULÁRIO.//________________________________________________________________________privatevoidlimparTodosPanels(){for(Componentcomponente:getContentPane().getComponents()){if(componenteinstanceofJPanel&&!componente.getName("PanelBotoes")){getContentPane().remove(componente);}}}// ESCONDE TODOS OS BOTÕES DO FORMULÁRIO.//________________________________________________________________________privatevoidesconderTodosBotoes(){buttonAvancarPrimeiro.setVisible(false);buttonAvancarSegundo.setVisible(false);buttonConcluir.setVisible(false);}// RECUPERA O PAINEL DOS BOTÕES CONTIDOS NO FORMULÁRIO.//________________________________________________________________________publicJPanelrecuperarPanelBotoes(){if(panelBotoes==null){panelBotoes=newJPanel();panelBotoes.setName("PanelBotoes");buttonAvancarPrimeiro=newJButton("Avançar");buttonAvancarPrimeiro.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){esconderTodosBotoes();limparTodosPanels();buttonAvancarSegundo.setVisible(true);// esconde tudo, apaga todos os painéis e mostra o próximo painel e próximo botão.getContentPane().add(recuperarPanelSegundo());}});buttonAvancarSegundo=newJButton("Avançar");buttonAvancarSegundo.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){esconderTodosBotoes();limparTodosPanels();buttonConcluir.setVisible(true);// esconde tudo, apaga todos os painéis e mostra o próximo painel e próximo botão.getContentPane().add(recuperarPanelConcluir());}});buttonConcluir=newJButton("Concluir");buttonConcluir.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){esconderTodosBotoes();/* faz suas operações */}});panelBotoes.add(buttonAvancarPrimeiro);panelBotoes.add(buttonAvancarSegundo);panelBotoes.add(buttonConcluir);}}}
Sacou mais ou menos a ideia? Que acha?
L
LucasGCosta
Entendi sim cara…
Valeu mesmo pela dica, tentarei implementar desta forma!
Muito obrigado