Java é bom d+, só que interface com o usuário é uma parte bem complexa…
Tô com um probleminha, tentarei explicar sucintamente o que desejo fazer, e espero que me dêem alguma idéia:
No programa que estou desenvolvendo tem um formulário para cadastro de pessoas, portanto tem um monte de dados que tenho que inserir, a melhor opção que achei foi usar o JTabbedPane, que cria umas abinhas, aí divide os campos em quatro abas, e criei-os em quatro JPane separados, Crio um Frame instancio e adiciono o JTabbed a ele, instancio cada um dos paineis e adiciono-os ao JTabbed.
Para terem uma idéia melhor:
public class FrmPessoas extends javax.swing.JInternalFrame {
public FrmPessoas() {
super("Pessoas",false,true,true,true);
setBounds((int)getBounds().getX(), (int)getBounds().getY()+40, getWidth(), getHeight());//Alguns ajustes de exibição
initComponents();//Código do NetBeans
//Aqui está a parte importante:
PnlPessoas1 painel1 = new PnlPessoas1();
controlaAbas.addTab("Dados Pessoais", painel1);
controlaAbas.addTab("Endereço",new PnlPessoas2());//PnlPessoas1 e 2 são classe públicas, portanto estão em arquivos separados
}
}
Agora pra pegar os valores dos campos estou com problemas, pensei nas três opções:
1- Dentro de cada classe que herda o JPane criar métodos públicos que possam acessar o valor dos campos digitados pelo usuário. Só que além de dar muito trabalho vai despendiar um pouco mais de processamento, por causa das chamadas sucessivas de métodos.
2- Colocar todos os meus campos como variáveis públicas, ou protegidas, e acessá-las diretamente, só que aí eu assassino o encapsulamento.
3- Criar os JPane’s como classes internas e variáveis públicas, assim elas seriam encapsuladas pela minha classe JFrame, que é onde eu adiciono os Jpane’s ao JTabbed(as abas), me parece uma ganbiarra, mas uma boa idéia…
Entenderam minha idéia?
Qualquer sugestão ou comentário são bem vindos.