GUIS EN JAVA

Páginas: 5 (1113 palabras) Publicado: 3 de diciembre de 2013
Problemática del desarrollo de grandes
aplicaciones
 El desarrollo de GUI puede, fácilmente, convertirse en un

proceso caótico.
 La dinámica del interfaz (Listeners de los eventos de
ratón/teclado), están tienen que tener acceso a las variables
de estado y a los componentes para pintar los resultados.
 La estructuración del código no es fácil.
 Si la aplicación es grande, es unclaro problema de
mantenimiento del código a medio plazo.

RecuadrosMain

 Dos grupos de componentes
jPanelText
• jTextLargo
• jTextAlto
• jTextArea
• jTextPerimetro

jPanelSliders
• jSliderLargo
• jSliderAlto

relacionados.
 Manipulan los mismos datos
 La modificación de los datos
se muestra como resultado
en otro componente.

Datos y modificación de los datos
doublealto;
double largo;
private void actualizarRecuadro(double largo, double alto) {
jTextLargo.setText(Double.toString(largo));
jTextAlto.setText(Double.toString(alto));
jSliderLargo.setValue((int)largo);
jSliderAlto.setValue((int)alto);
jTextPerimetro.setText(Double.toString(2*largo + 2*alto));
jTextArea.setText(Double.toString(largo * alto));
}

Control del programajTextLargoActionPerformed
jTextLargoFocusLost

private void jTextLargoActionPerformed (java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

largo=Double.parseDouble(jTextLargo.getText());
actualizarRecuadro(largo, alto);
}

Control del programa
jSliderLargoStateChanged

private void jSlideLargoStateChanged (java.awt.event.ActionEvent evt) {
// TODO add your handling code here:largo=(double)jSliderLargo.getValue();
actualizarRecuadro(largo, alto);
}

Rediseño
 Separar los datos y el código del interfaz
 Generar una clase para el rectángulo (datos y operaciones)

 Ventaja: Disponer del modelo de datos aislado, permite

después volcarlo sobre un soporte de almacenamiento
(ficheros o base de dato).

GUI

Modelo de
Datos

 El interfaz modifica el valordel modelo de datos y lo

consulta para obtener datos y resultados de operaciones.

Clase ModeloRecuadro
public class ModeloRecuadro {
private double alto;
private double largo;
public ModeloRecuadro(double a, double l)
{ alto=a; largo=l; }
public void fijarAlto(double a) { alto=a; }
public void fijarLargo(double l) { largo=l; }
public double obtenerAlto() { return alto; }
publicdouble obtenerLargo() { return largo; }
public double calcularArea() { return alto * largo; }
public double calcularPerimetro() { return 2*alto+2*largo; }
}

Limitaciones del diseño
 Aunque se separa el modelo de datos del interfaz se dan otros

problemas:
 Pueden existir varios componentes de interfaz de modifiquen o

muestren datos del modelo.
 La lógica de cuándo se modifica elmodelo de datos (no de
cómo se hace) sigue residiendo en el interfaz, junto con la
declaración de los componentes gráficos.
 El interfaz gráfico se tiene que encargar de cuando se hace una
modificación recalcular el efecto sobre todos los componentes
del mismo que se ven afectados.

GUIS en Java (3)
Modelo –Vista – Controlador (MVC)

Modelo–Vista–Controlador (MVC)
GUI
ModificarDatos

Consulta el valor de
los componentes
Actualizar Componentes

Controlador
 El Controlador es el encargado de procesar los mandatos del

usuario y programar eventos.
 El despliegue inicial requiere:
 La creación de los tres componentes.
 El Controlador debe acceder a los componentes de la Vista para

consultar sus valores.
 El Controlador modifica los datos del Modelo.
El Modelo actualiza cómo se muestran de los datos del Modelo
en la Vista.

Clase ControladorRecuadros
public class ControladorRecuadros
implements ActionListener,
FocusListener,
ChangeListener {
public void actionPerformed(ActionEvent ae) {…}
public void focusGained(FocusEvent fe) {…}
public void focusLost(FocusEvent fe) {…}
public void stateChanged(ChangeEvent ce) {…}
}

Diseño...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Poo Guis En Java
  • guis en java 1pp 2012
  • Manejo De Guis En Java
  • guis
  • el guiso
  • guise
  • MI GUISADO
  • Familisterio de Guisa

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS