jueves, 24 de febrero de 2011

Empezando Java Avanzado

Ya no me tengo que llevar el pen a clase gracias a subeclipse. Gracias a la utilización del Subversion he perdido peso en la mochila :) . Aunque la verdadera importancia radica en el trabajo en grupo, por que con ello todos podemos implicarnos directamente en el mismo programa.

También hemos empezado a programar interfaces gráficas con Swing y manejo de hilos para gestionar recursos compartidos. Aquí dejo un pequeño ejemplo de como manejar las 2 cosas, una interfaz gráfica donde tenemos 5 botones, todos a un mismo escuchador, y al pulsarlos nos muestra por consola su texto:

Semana.java
public class Semana{
 public Semana() {};
 public void ejecuta() {
  JFrame jfMarco = new JFrame("Ejemplo con JButtons");
  JButton jbBotonL = new JButton("Lunes");
  JButton jbBotonM = new JButton("Martes");
  JButton jbBotonW = new JButton("Miercoles");
  JButton jbBotonJ = new JButton("Jueves");
  JButton jbBotonV = new JButton("Viernes");
  jfMarco.getContentPane().setLayout(new FlowLayout());
  jfMarco.getContentPane().add(jbBotonL);
  jfMarco.getContentPane().add(jbBotonM);
  jfMarco.getContentPane().add(jbBotonW);
  jfMarco.getContentPane().add(jbBotonJ);
  jfMarco.getContentPane().add(jbBotonV);
  
  EscuchadorBoton otro = new EscuchadorBoton();
  
  jbBotonL.addActionListener(otro);
  jbBotonM.addActionListener(otro);
  jbBotonW.addActionListener(otro);
  jbBotonJ.addActionListener(otro);
  jbBotonV.addActionListener(otro);
  
  jfMarco.setSize(500, 70);
  jfMarco.setVisible(true);
  jfMarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
 public static void main (String args[]) {
  SwingUtilities.invokeLater(new Runnable() {
   public void run() {
    new Semana().ejecuta();
   }
  });
 }
}


EscuchadorBoton.java
public class EscuchadorBoton implements ActionListener {

 @Override
 public void actionPerformed(ActionEvent e) {
  System.out.println(((JButton)e.getSource()).getText());
 }

} 
 
La ventana resultante: 

No hay comentarios:

Publicar un comentario