04-11-2009 00:13
Programacion Visual en Java
Categoría:Tecnología
| Tipo: Tutorial | Tags:bluej
eclipse
gráfica
gráfico
java
netbeans
visual
| 0 ComentariosJava contiene dentro de su libreria de clases algunas que nos ayudaran a crear nuestras primeras aplicaciones graficas orientadas totalmente al usuario. Para comenzar con los ejemplos que se presentaran en este articulo es necesario comprender los aspectos basicos y fundamentales de la programacion orientada a objetos(POO), es decir: Clases, Objetos, Herencia, Mensajes, etc, etc. Luego tambien hay que estar familiarizado con la sintaxis del lenguaje java y como se implementan las caracteristicas POO en una estructura de clases Java.
Lo importante a la hora de pasar de aplicaciones con consola hacia aplicaciones visuales son los nuevos paradigmas de programacion a los que tendremos que enfrentarnos: Programacion multihilo(Threads) y Programacion orientada a eventos.
Las clases visuales tambien comienzan en un void main como cualquier aplicacion de consola pero la diferencia radica en que el void main debe encargarse de inicializar todos los objetos que son necesarios para que la aplicacion sea funcional. Se trata de inicializar las ventanas, los botones, conexiones a bases de datos, apertura de sockets, etc. Ademas de algun comportamiento adicional de la aplicacion.
El usuario es el que eligiendo distintas opciones por medio de los componentes graficos como botones, cajas de texto, combos, etc disparara eventos dentro de nuestra estrucutra de clases. Asi por ejemplo es necesario que cuando creemos un boton asociemos un comportamiento en el evento click del boton, aqui radica el cambio de paradigma al que nos enfrentamos.
Una vez que hallamos comprendido como funciona basicamente una aplicacion visual en Java estamos en condiciones de mudarnos a un programa que nos ahorre pasos como por ejemplo Eclipse(recomendado buscar la version Easy Eclipse que viene con los paquetes necesarios preinstalados) o Netbeans. Para empezar a estudiar este lenguaje de programacion yo recomiendo BlueJ por que no tiene nada y eso nos hace pensar mucho mas, ahorrar codigo y comprender lo que los asistentes muchas veces terminan ocultandonos.
Ahora les presento un Hola Mundo listo para ejecutarse en BlueJ y con lineas comentadas para que puedan seguir todas las lineas con asistencia guiada. Si tienen instalado otro programa para Java se tendria que ejecutar de igual manera.
// Hola Mundo en Java Visual
// http://www.blogterrier.com.ar/
//Para el manejo de eventos debemos
//llamar a distintas librerias de awt
//Esto se podria hacer con
//import java.awt.*; pero lo dejo asi
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
//Para los distintos componentes
//llamamos a las clases que estan
//javax.swing.*;
import javax.swing.*;
public class BlogTerrier extends JFrame
{
//Elementos que vamos a usar:
//un textfield y dos botones
private JTextField jtftexto = new JTextField();
private JButton btnhola = new JButton("Hola");
private JButton btnmundo = new JButton("Hola Mundo");
//Constructor de la clase,
//recordar que es una extension de JFrame
public BlogTerrier()
{
//Fuera Layout de distribucion automatica
//BlogTerrier hereda de la clase
//JFrame de alli podemos hacer esto
getContentPane().setLayout(null);
jtftexto.setBounds(10, 10, 150, 20);
btnhola.setBounds(10, 60, 150, 40);
btnmundo.setBounds(10, 120, 150, 40);
//Objeto EscucharBotones:
EscucharBotones eb = new EscucharBotones();
//Agregamos a los botones el gestor de eventos
btnhola.addActionListener(eb);
btnmundo.addActionListener(eb);
//Cargamos en el JFrame los botones y el texto
getContentPane().add(jtftexto);
getContentPane().add(btnhola);
getContentPane().add(btnmundo);
//Para escuchar eventos sobre el mismo JFrame
addWindowListener(new AplicacionWindow());
}
//clase para escuchar los eventos sobre botones
//Es de lo mas raro una clase dentro de otra
public class EscucharBotones implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == btnhola)
{
jtftexto.setText("Hola");
}
if (e.getSource() == btnmundo)
{
jtftexto.setText("Hola Mundo");
}
}
}
//Otra Clase dentro de BlogTerrier
//Es para gestionar los eventos sobre el frame
class AplicacionWindow extends WindowAdapter
{
// al cerrar la ventana se termina la aplicación
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}
//Igual que en las aplicaciones por consolas
//tenemos una static void main
//Es la encargada de inciar el programa declarando una
//instancia de la clase BlogTerrier
//La variables deben ser de la clase y asi
//son accesibles desde todo lo que esta entre {}
public static void main(String args[])
{
BlogTerrier n= new BlogTerrier();
n.setSize(210, 200);
n.setTitle("Hola Mundo");
n.setVisible(true);
}
}
Sobre esta noticia
Autor: BlogterrierNoticias totales de Blogterrier: 38
Visitas de esta noticia: 1068














