Vous êtes sur la page 1sur 4

Para uso libre

Controlador

Ejemplo Modelo Vista

Aplicacin Conversor de temperatura Fahrenheit a


Celsius
La aplicacin cuenta con un teclado numrico que el usuario utiliza para
introducir la temperatura en grados Fahrenheit que desee convertir. La
conversin a grados Celsius se realiza en tiempo real conforme el usuario
introduce el valor requerido mediante el teclado numrico.

Vista
La Vista permite al usuario interactuar con la aplicacin, permitiendo ejecutar
uno o varios procesos de manera
sencilla.
Esta clase genera la siguiente interfaz
class Vista implements ActionListener{
JTextField campoGradosF = new JTextField();
JTextField campoGradosC = new JTextField();
JButton cero = new JButton();
JButton uno = new JButton();
JButton dos = new JButton();
JButton tres = new JButton();

Para uso libre


Controlador

Ejemplo Modelo Vista

JButton cuatro = new JButton();


JButton cinco = new JButton();
JButton seis = new JButton();
JButton siete = new JButton();
JButton ocho = new JButton();
JButton nueve = new JButton();
JButton del = new JButton();
JButton ret = new JButton();
Controlador controlador;
Vista(){
cero.setText("0");
uno.setText("1");
dos.setText("2");
tres.setText("3");
cuatro.setText("4");
cinco.setText("5");
seis.setText("6");
siete.setText("7");
ocho.setText("8");
nueve.setText("9");
ret.setText("C");
del.setText("DEL");
}

Se generan los componentes


graficos de la Vista

public void actualizaGradoF(){


campoGradosF.setText(controlador.getNum());
}
public void actionPerformed( ActionEvent evento){
if (evento.getSource() == uno){
controlador.setNum(uno.getText());
}else if (evento.getSource() == dos){
controlador.setNum(dos.getText());
}else if (evento.getSource() == tres){
controlador.setNum(tres.getText());
}else if (evento.getSource() == cuatro){
controlador.setNum(cuatro.getText());
}else if (evento.getSource() == cinco){
controlador.setNum(cinco.getText());
}else if (evento.getSource() == seis){
controlador.setNum(siete.getText());
}else if (evento.getSource() == ocho){
controlador.setNum(ocho.getText());
}else if (evento.getSource() == nueve){
controlador.setNum(nueve.getText());
}else if (evento.getSource() == cero){
controlador.setNum(cero.getText());
}else if (evento.getSource() == del){
controlador.limpia();
}else if (evento.getSource() == ret){
controlador.retroceso();
}else if (evento.getSource() == campoGradosC){
campoGradosC.setText(controlador.getConv());
}
}
}

Este mtodo actualiza el valor


de grados Fahrenheit cada
que un botn es oprimido

Este mtodo es ejecutado


cuando se da clic sobre un
botn

Para uso libre


Controlador

Ejemplo Modelo Vista

Controlador
Corresponde a la manipulacin de la informacin a travs de la vista, es el
intermediario entre la vista y el modelo, en este caso el controlador toma las
entradas que el usuario enva mediante el teclado numrico y las interpreta de
manera que el Modelo pueda realizar la accin requerida por el usuario
correctamente.
class Controlador{
Modelo modelo;
Vista vista;
Controlador(Modelo modelo){
this.modelo=modelo;
}
public void setNum(String num){
modelo.setNum(num);
vista.actualizaGradoF();
}
public void limpia(){
modelo.Limpia();
vista.actualizaGradoF();
}
public void retroceso(){
modelo.Retrocede();
vista.actualizaGradoF();
}
public String getConv(){
return modelo.getConv();
}
}

Modelo
El Modelo implementa la lgica de la aplicacin que permite realizar el proceso
requerido por el usuario. Tambin permite obtener el estado actual de los
objetos que forman la aplicacin permitiendo saber si cambio su estado para
notificarlo a la Vista. Esto permite usar diferentes vistas con un mismo Modelo.
class Modelo{
private String num;
public void setNum(String num){
this.num+=num;
}
public String getNum(){
return num;
}
public String getConv(){
int F = Integer.getInteger(num);
int C = (F-32)*5/9;
return String.valueOf(C);
}

Para uso libre


Controlador
public void Limpia(){
num="0";
}
public void Retrocede(){
if (num.length()>1)
num=num.substring(0, num.length()-2);
}
}

Ejemplo Modelo Vista

Vous aimerez peut-être aussi