1. (CHAT) El ejercicio de esta sesión es el mismo que el de la sesión de AWT: construir la aplicación de chat. Si lo termináis y os da tiempo, os proponemos añadirle algunas de las siguientes mejoras:
Así, se sustituye el código que incluía el TextArea:
TextArea txtBuffer = new TextArea("", 5, 5, TextArea.SCROLLBARS_BOTH); add(txtBuffer, BorderLayout.CENTER);por:
JTextArea txtBuffer = new JTextArea(); JScrollPane panelBuffer = new JScrollPane(txtBuffer); getContentPane().add(panelBuffer, BorderLayout.CENTER);Hay que tener en cuenta que para añadir elementos y cambiar algunas propiedades de un JFrame es distinto a como se hace en un Frame. Por ejemplo, en un Frame se hace:setLayout(new BorderLayout()); add(panelSup, BorderLayout.NORTH);Mientras que en un JFrame se hace:
getContentPane().setLayout(new BorderLayout()); getContentPane().add(panelSup, BorderLayout.NORTH);Es decir, se obtiene el ContentPane (el contenedor) de la ventana, y se llama a los métodos del mismo.
Colocar el password con asteriscos (mediante un JPasswordField en lugar de un JTextField). Para ello se debe haber convertido la aplicación a Swing previamente.
Hay que tener en cuenta que para obtener el texto del JPasswordField se tiene que llamar al método getPassword(), que devuelve un array de char. Para convertirlo luego a cadena hay que utilizar un constructor de la clase String, de forma que en lugar de poner:
txtPassword.getText();Se pone:new String(txtPassword.getPassword());(siendo el objeto txtPassword de tipo JPasswordField en este último caso, y de tipo JTextField en el anterior).
Para entregar: Debéis entregar un ZIP e3_2.zip con: