Preciso implementar um formulário de cadastro padrão, onde os botões incluir, excluir, salver,… é igual em todos os formulários.
Eu consigo fazer isso utilizando padrôes ? Alguém sabe como fazer para reutilizar ao máximo esse tipo de código?
Você pode implementar um template do seu formulário, numa superclasse e herda-lo nas subclasses. Nesse template, você inclui os botões, e chama template methods abstratos para suas funções.
você também pode usar os padrões strategy e dependency injection quando estiver programando. Tudo vai depender de qual é a necessidade do seu formulário.
No caso do painel central, que será preenchido em cada subclasse, você terá que usar o padrão de lazy initialization. Mas é importante adiciona-lo ao frame fora do construtor, pois o template método não funcionará nesse caso (você não pode deve chamar um método da subclasse se o objeto da superclasse ainda não foi totalmente construído).
Finalmente, você irá usar os decorators do Swing e o modelo MVC. Lembre-se embora a interface gráfica seja o view de sua aplicação num contexto mais amplo, haverá MVCs dentro dessa interface gráfica, num contexto menos amplo. Por exemplo, no caso das JComboBoxes e JTables, o view é a table em si, o controler é o mecanismo de eventos e o model é a classe de model especifica da combo ou tree.
Sugiro você dar uma olhada no framework SwingBean:
http://swingbean.sourceforge.net
Com ele você consegue criar o template sem precisar inclusive utilizar a herança. Todo comportamento específico (como a posição dos campos do formulário e os tipos dos campos) vai ficar encapsulado nos componentes do framework. Vale a pena dar uma olhada!!!