Estou tentando reescrever uma aplicação swing para o modelo MVC, então me deparei com algumas dúvidas, já que não encontrei nenhum exemplo prático de como dar inicio na codificação desse modelo. Eu tenho a noção básica de que devemos separar a visão do usuário do controle/atualização de dados e manipulação/alteração de dados.
A forma que encontrei pra conseguir fazer essa separação inicialmente e dar inicio na codificação da minha aplicação foi criando uma classe controller, e mandando sua instância pra dentro da minha primeira view com um JDesktopPane, e as views que eu chamasse a partir dali, por meio de botões, seriam “atributos” da minha controller criados em tempo de execução por meio de getters/setters.
Eu fiquei lendo meu código, e tenho quase certeza de que não seja a melhor forma de fazer.
Segue alguns trechos do código pra que possam entender o texto confuso.
Minha “Controller”:
package c;
import javax.swing.JFrame;
import v.Menu;
import v.Students;
public class Guard {
public static void main(String[] args) {
Guard guard = new Guard();
Menu frame = new Menu(guard);
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);
}
public Students students;
public Students getStudents() {
return students;
}
public void setStudents(Students students) {
this.students = students;
}
}
ActionPerformed do botão da minha view
guard.setStudents(new Students());
desktopPane.add(guard.getStudents());
guard.getStudents().setVisible(true);
Com base na resposta dessa pergunta, eu tenho outra, onde eu devo fazer a confirmação de dados inseridos, ver se não estão vazios e coisas do tipo?
É que eu tenho 80 linhas de confirmação campo a campo, que estão dentro de um método na minha View mas não sei pra onde posso mandar pra confirmar, eu teria que mandar componente por componente, a não ser que criasse uma lista ou algo assim.