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: 

sábado, 19 de febrero de 2011

Oremos

"Java nuestro que estas en las computadoras,
debugadas sean tus sentencias,
Venga a nosotros tu compilador,
Hágase tu software tanto en linux como en Windows
Danos hoy nuestro error de cada dia
...Y perdona nuestras aplicaciones en visual basic,
Como también nosotros perdonamos a los que programan en ActionScript
no nos dejes caer en tentación,
y líbranos del ”.net” "

miércoles, 16 de febrero de 2011

Fin del bloque 1

Estos días he estado muy liado acabando el proyecto del bloque primero: una agenda electrónica. La verdad es que he dado toda la asignatura de programación avanzada en unas 6 horas (menos mal que me acordaba de algo). Al final me ha quedado una agenda capaz de jugar con objetos de diferentes tipos y guardar/cargar su información a través de ficheros de texto.


No sé si estará bien o mal, mejor o peor, pero lo que sé es que he aprendido y he quitado el polvo a mi cerebro.

System.out.prinln("Hasta la próxima entrada.");

jueves, 10 de febrero de 2011

Pasar argumentos por linea de comandos

Para manejar los argumentos pasados por linea de comandos se hace uso de la cadena args[] del metodo main. Como en un ejercicio nos lo pedían, y no lo encontraba en los apuntes, lo busqué:


class argumentos{
 public static void main(String args[]){
  if ( args.length == 0 ){
   System.out.println("ERROR!");
   return;
  }
  for ( int i = 0 ; i < args.length ; i++ ){
   System.out.println(args[i]);
  }
 }
}

Me he dado cuenta que es un manejo de cadenas normal y corriente, pero me cuesta ver las evidencias cuando las tengo delante mia xD. Ahora hace falta saber como le digo a eclipse los parámetros de entrada al ejecutar el programa.....

domingo, 6 de febrero de 2011

Inicio del curso

Este pasado viernes empezó el curso y somos once compañeros.Debo decir que hasta ahora lo único que conocía de código Java (si se puede considerar código) era que su logotipo es una tacita. Espero poder aprender mucho y tengo ganas de hacerlo.
Las clases se hacen muy amenas y entretenidas, y tienen mucho contenido. Aunque habrá que trabajarlo mucho en casa durante la semana, parece que la cosa pinta muy bien, como también pinta genial su entorno de desarrollo: eclipse.
Después de perder 5 minutos de mi tiempo de vida desarrollando una clase, resulta que el amigo eclipse lo hacía sólo con un par de clics. Seguro que me sigue sorprendiendo.
Ahora estamos empezando a desarrollar una agenda, os mantendré informados del proceso.

System.out.println("Saludos y hasta la próxima entrada");