Logo Studenta

Prototipado GUI utilizando Java swing

¡Estudia con miles de materiales!

Vista previa del material en texto

Prototipado GUI utilizando Java/Swing
 
public class TestGUI {
 public static void main(String[] args) {
 // creación del TO para alumnos
 AlumnoTO alumno = new AlumnoTO(100, "Marcelo", "Paris ") ;
 // crear una GUI de edición de alumnos
 GuiAlumnoEditar gui = new GuiAlumnoEditar( alumno );
 // visualizar GUI
 gui.setVisible(true);
 
 }
}
GUI: Inicio de Aplicación
 
// declarar una clase por cada entidad a manejar
// responsable de contener datos de la entidad
// es utilizada para mover información entre diversas capas
public class AlumnoTO {
 // declarar los datos a manejar
 private int legajo;
 private String nombre;
 private String apellido;
 // generar setters y getters
 // generar constructor con y sin parametros
 // generar toString
 
}
<pie> <pie>
GUI: Estructura de Transfer Object (TO)
 
import javax.swing.JFrame;
// reutilizamos JFrame, clase que modela ventanas
public class GuiAlumnoEditar extends JFrame {
 // En contructor inicializamos la GUI
 public GuiAlumnoEditar(AlumnoTO alumno) {
 // ajustamos las propiedades de Jframe
 // según nuestro diseño
 // utilizando los métodos heredados
 setTitle("Gui Edición de Alumno");
 setLocation(100, 100);
 setSize(400,300);
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 setResizable(false);
 // guardamos la referencia del TO que manejaremos
 this.alumno=alumno;
 // armar formulario, nuevo método privado de esta clase
 crearFormulario();
 actualizarForm(); // pasar datos del TO a textFields
 }
 // mantenemos la referencia al TO
 // nos brindará datos del alumno a editar
 private AlumnoTO alumno;
}
GUI: Ventana como subclase de JFrame
 
GUI: Ventana 
 
JTextField tfLegajo,tfNombre,tfApellido;
JButton btModificar,btCancelar;
private void crearFormulario(){
 // organización de la pantalla
 setLayout(new BorderLayout());
 JPanel formPanel = new JPanel(new GridLayout(3,2));
 JPanel actionPanel = new JPanel(new FlowLayout());
 formPanel.setPreferredSize(new Dimension(400, 80));
 add(BorderLayout.NORTH ,new JLabel("Alumno"));
 add(BorderLayout.CENTER,formPanel); 
 add(BorderLayout.SOUTH ,actionPanel);
 // campos de texto para cada dato
 tfLegajo =new JTextField();
 tfNombre =new JTextField();
 tfApellido=new JTextField();
 // armado de formulario
 formPanel.add(new JLabel("Legajo:"));
 formPanel.add(tfLegajo);
 formPanel.add(new JLabel("Nombre:"));
 formPanel.add(tfNombre);
 formPanel.add(new JLabel("Apellido:"));
 formPanel.add(tfApellido);
 // armado de barra de acciones
 btModificar=new JButton("Modificar");
 btCancelar =new JButton("Cancelar");
 actionPanel.add(btModificar);
 actionPanel.add(btCancelar);
 pack();
}
GUI: Objetos que componen la interfaz
 
… 
 JTextField tfLegajo;
JTextField tfNombre;
JTextField tfApellido;
 …
private AlumnoTO alumno;
…
 // recupera los datos del TO y actualiza textFiels
 private void actualizarForm(){
 tfLegajo.setText(String.valueOf(alumno.getLegajo()));
 tfNombre.setText(alumno.getNombre());
 tfApellido.setText(alumno.getApellido());
 }
// recupera los datos de los textFields y actualiza TO
 private void actualizarTO(){
 alumno.setLegajo(Integer.parseInt(tfLegajo.getText()));
 alumno.setNombre(tfNombre.getText());
 alumno.setApellido(tfApellido.getText());
 }
GUI: Movimiento de Datos desde y hacia GUI/TO
	Página 1
	Página 2
	Página 3
	Página 4
	Página 5
	Página 6
	Página 7

Continuar navegando

Contenido elegido para ti

Otros materiales