BlogBlogs.Com.Br

segunda-feira, 30 de março de 2009

MVC no Eclipse com Visual Editor


A utilização de um pattern deixa seu código mais organizadoe torna o desenvolvimento mais eficiente. Abaixo um breve exemplo de um aplicativo java seguindo o MVC usando eclipse e sua VE.
Segundo a wikipédia temos :
  1. View - "Renderiza" o model em uma forma específica para a interação (GUI).
  2. Controller - Controle da regra de negócio.
  3. Model - representação dos elementos do seu domínio e interação com as ferramentas de persistência.
Para maiores informações sobre o MVC confira o link: http://java.sun.com/blueprints/patterns/MVC-detailed.html .
Após criar um novo projeto crie todos os pacotes necessários na pasta src: app, control, view e model.
obs: o pacote app, será o lugar onde empacotaremos a Main.java .

A classe Main possui um único construtor para a controle.
package app;
import control.Control;

public class Main {

public static void main(String[] args) {
new Control();
}
}
Dentro do pacote control temos a interface ViewControl e a classe Control que a implementa. A control fará a chamada para construir a View alem disso deve ser capaz de operar mudanças na GUI apartir dos valores da model, ou da interação do usuário. O método buttonFunction é chamado quando pressionamos um botão , atribuindo valor para uma variável dentro da Model.
package control;

import view.View;
import model.Form;

public class Control implements ViewInterface{

View mainView = null;
Form mainForm = null;

public Control() {
mainView = new View(this);
mainForm = new Form();
}

public void buttonFunction(Form form) {
mainForm.setNumber1(mainView.fieldContent1());
System.out.println(mainForm.getNumber1());
}
}

package control;

import model.Form;

public interface ViewInterface {

void buttonFunction (Form form);

}
No pacote Model temos a classe Form que guarda os atributos do nosso formulário de exemplo.
package model;
public class Form {
int number1;

public int getNumber1() {
return number1;
}

public void setNumber1(int number1) {
this.number1 = number1;
}
}
No pacote View temos uma visual class (Jframe com um JTextField e um JButton). Esta pode ser gerada automaticamente pelo Visual Editor do Eclipse. Apenas alguns cógidos são acrescentados, como o construtor chamado pela Control.
public ViewInterface viewInterface=null;

public View(ViewInterface viewInterface){
super();
this.viewInterface = viewInterface;
initComponents();
}

public int fieldContent1(){
return Integer.parseInt(jTextField0.getText());
}

private void jButton0ActionActionPerformed(ActionEvent event) {
viewInterface.buttonFunction(null);
}
O método jButton0ActionActionPerformed é gerado clicando com o botão direto do mouse sobre o JButton no modo Desing > Add/Edit events > action.

A aplicação criada se resume em: A Main chama um Construtor da classe Control. A Control implementa intreface e chama o construtor da view. Um click no botão da View chama a Controle q pega o valor do textField e chama o método Set da classe Form.

0 comentários: