Descarga la aplicación para disfrutar aún más
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
Compartir