miércoles, 4 de noviembre de 2015

Que es Swing en Java?

No vamos a entrar en detalles sobre Java Swing, básicamente lo que debemos saber es que es un paquete que hace parte de la Java Foundation Classes o mas conocida como JFC, la cual provee herramientas o facilidades para la construcción de GUI's o interfaces Graficas de Usuario (graphical user interface).


Podemos decir que Swing es la evolución del AWT (Abstract Window Toolkit), la cual al igual que Swing es un conjunto de librerias enfocadas a la construcción de interfaces, solo que con esta se presentaron algunos problemas en cuanto a portabilidad principalmente cuando se desarrollaban aplicaciones para diferentes sistemas operativos, pues el comportamiento de los componentes graficos en ocasiones podían variar...... bueno esa es otra historia, el punto es que a partir deAWT nace Swing y con el mejoras no solo en aspectos visuales sino también en portabilidad y comportamiento.....el siguiente es un ejemplo de la Jerarquía de esta librería (se muestran algunos de los principales componentes...)




Como vemos todos los componentes de Swing heredan del paquete javax.swing(obvio no?) a diferencia de los componentes AWT los Swing se reconocen porque anteponen la letra J antes del nombre, por ejemplo un botón en AWT se llama Button, mientras que en Java Swing es JButton......


Cuando vamos a construir aplicaciones utilizando Java Swing debemos tener al menos un contenedor que será la base para nuestra aplicación, es decir, sera el lienzo donde pintaremos los demás componentes.

Normalmente podemos utilizar un JFrame o JDialog, estos serán la base para nuestra ventana y en ellos pintar los paneles, botones, cajas de texto, áreas entre otros......

Con Swing le daremos vida a nuestro sistema, ya que se crearán las vistas de la aplicación, por medio de las cuales el Usuario interactuará con el sistema, veremos que se tiene una gran cantidad de posibilidades para estructurar nuestros desarrollos, se pueden manejar los eventos de cada componente dependiendo de nuestras necesidades, así como utilizar look & feel para modificar el aspecto visual de nuestras interfaces.

Y Listo!!! esta es una pequeña introducción a lo que necesitamos saber sobre estas librerías básicas en nuestro campo, en próximas entradas veremos ejemplos prácticos de cada uno de los componentes y su aplicación dando pie para futuros desarrollos y ejemplos donde obligatoriamente tenemos que hacer uso de lasGUI!!!!

Pasos para crear un proyecto en Java


















1- Crear un nuevo proyecto y desmarcar la opción Create Main Class en la segunda ventana que aparece y finalizar.





2- Implementar todas las clases necesarias para el proyecto con todas sus funcionalidades.



3- Por una cuestión de buenas prácticas de programación crearemos un nuevo paquete para mantener las formas visuales separadas del código de nuestras clases, por lo tanto el tercer paso es crear un nuevo paquete.

3.1- En las carpetas del proyecto damos click derecho en Source Packages, en new seleccionamos la opción Java Package, le damos un nombre y finalizamos.



Nuestra aplicación visual debe tener una interfaz principal (JFrame) y puede tener o no varias interfaces auxiliares (JDialog) según convenga.

4- Crear la forma o interfaz principal

4.1- Para esto nos paramos sobre el nuevo paquete que creamos y damos click derecho, en new seleccionamos la opción JFrame Form, seleccionamos un nombre y damos finalizar.



Una vez hecho esto aparecerá la forma visual en el Netbeans.



5- Añadir los componentes visuales deseados para nuestra aplicación.

5.1- Para esto vamos a la paleta de componentes visuales y añadimos todos los que deseemos para nuestra aplicación.



6- Crear las formas auxiliares necesarias.

* Se necesita una forma auxiliar para cada método que requiera entrada de datos en forma de parámetros.

6.1- nos paramos sobre el nuevo paquete que creamos y damos click derecho, en new seleccionamos la opción File/Folder, en la nueva ventana que sale seleccionamos Java GUI Forms y dentro de esta JDialog Form.



6.2- Seleccionamos el nombre de la nueva forma auxiliar y damos click en Finish

7- Añadir los componentes visuales deseados para nuestra nueva forma. Este paso es similar al 5.1



**********************************************************************************

Con los pasos anteriores tenemos nuestra parte visual lista para vincularla con nuestras clases. Para esto generalmente es necesario tener una instancia (objeto) de la clase principal en la forma principal, por ejemplo:

public class Nombre_Forma_Principal extends javax.swing.JFrame {

/** Creates new form Nombre_Forma_Principal */

private OficinaMultas oficina; // declaración de la variable de tipo de la clase principal en la forma principal

public Nombre_Forma_Principal() {

initComponents();

oficina = new OficinaMultas(); // inicialización de la variable

}

/* Resto del Código de la forma*/

}

El objetivo de esto es poder trabajar sobre nuestra clase principal desde la interfaz visual, lo que facilita mucho el trabajo (en comparación con la consola) a nuestros usuarios finales. Además es necesario tener referencias a este objeto desde las formas auxiliares para trabajar con los diferentes métodos del mismo. Esto se logra en varios pasos:

8.1- Crear un objeto del tipo de la clase principal en la forma auxiliar deseada.

8.2- Sobrecargar el constructor de la forma auxiliar de forma tal que cuando creemos una instancia de la misma desde la forma principal podamos especificarle que el objeto creado anteriormente va a ser una referencia al objeto de la forma principal.

public class VAdicionarInfra extends javax.swing.JDialog {

private OficinaMultas oficina; // creación del objeto

/** constructor por defecto de la forma auxiliar */

public VAdicionarInfra(java.awt.Frame parent, boolean modal) {

super(parent, modal);

initComponents();

}

/** sobrecarga del constructor, este es el que hay que crear */

public VAdicionarInfra(OficinaMultas of) {

this(null, true);// llamada al constructor por defecto oficina = of;

}

/*Cuerpo de la forma*/

}

Ahora solo nos falta darle funcionalidad a nuestra aplicación, o sea vincular la forma principal con las

formas auxiliares para que el usuario pueda usar todas ventajas de nuestra aplicación. Esto se logra de manera muy sencilla realizando los pasos siguientes:


9- Seleccionar con el mouse el componente visual que queremos usar para acceder a la forma auxiliar. Este componente generalmente suele ser un jMenuItem o un jButton.

10- Damos click derecho sobre el componente seleccionado en el menú que se despliega seleccionamos:

Events->Mouse->MouseClicked

Esto nos va a llevar a la sección del código de la forma donde tenemos que implementar dicho evento (posteriormente se utilizaran otros eventos), o sea, el código que escribamos aquí es el que se va a ejecutar cuando demos click con el mouse sobre ese componente. Como lo que queremos es acceder a la forma auxiliar lo hacemos a través del siguiente código:

Nombre_de_la_forma_auxiliar forma_auxiliar = new Nombre_de_la_forma_auxiliar(oficina);

//crea instancia de la forma auxiliar

forma_auxiliar.setVisible(true); //muestra la instancia de la forma auxiliar


Historia de Java


Duke, la mascota de Java
Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto por trece personas y dirigido porJames Gosling, trabajó durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo.

El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la oficina de Gosling), luego pasó a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas gráficas y finalmente se renombró a Java.

Es frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus diseñadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrónimo, Just Another Vague Acronym ("sólo otro acrónimo ambiguo más"). La hipótesis que más fuerza tiene es la de que Java debe su nombre a un tipo de café disponible en la cafetería cercana, de ahí que el icono de java sea una taza de café caliente. Un pequeño signo que da fuerza a esta teoría es que los 4 primeros bytes (el número mágico) de los archivos.class que genera el compilador, son en hexadecimal, 0xCAFEBABE. A pesar de todas estas teorías, el nombre fue sacado al parecer de una lista aleatoria de palabras.3


Los objetivos de Gosling eran implementar una máquina virtual y un lenguaje con una estructura y sintaxis similar a C++. Entre junio y julio de 1994, tras una sesión maratoniana de tres días entre John Gaga, James Gosling, Patrick Naughton, Wayne Rosing y Eric Schmidt, el equipo reorientó la plataforma hacia la Web. Sintieron que la llegada del navegador web Mosaic, propiciaría que Internet se convirtiese en un medio interactivo, como el que pensaban era la televisión por cable. Naughton creó entonces un prototipo de navegador, WebRunner, que más tarde sería conocido como HotJava.

En 1994, se les hizo una demostración de HotJava y la plataforma Java a los ejecutivos de Sun. Java 1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld, a que vieran la luz pública Java y HotJava, el navegador Web. El acontecimiento fue anunciado por John Gage, el Director Científico de Sun Microsystems. El acto estuvo acompañado por una pequeña sorpresa adicional, el anuncio por parte de Marc Andreessen, Vicepresidente Ejecutivo de Netscape, de que Java sería soportado en sus navegadores. El 9 de enero del año siguiente, 1996, Sun fundó el grupo empresarial JavaSoft para que se encargase del desarrollo tecnológico. Dos semanas más tarde la primera versión de Java fue publicada.

La promesa inicial de Gosling era Write Once, Run Anywhere (Escríbelo una vez, ejecútalo en cualquier lugar), proporcionando un lenguaje independiente de la plataforma y un entorno de ejecución (la JVM) ligero y gratuito para las plataformas más populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma.

El entorno de ejecución era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las páginas web.

Java ha experimentado numerosos cambios desde la versión primigenia, JDK 1.0, así como un enorme incremento en el número de clases y paquetes que componen la biblioteca estándar.

Java 

(lenguaje de programación)



Java es un lenguaje de programación de propósito general, concurrente, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.1 2

El lenguaje de programación Java fue originalmente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compañía Oracle) y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Susintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase Java) que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente.

La compañía Sun desarrolló la implementación de referencia original para los compiladores de Java, máquinas virtuales, ylibrerías de clases en 1991 y las publicó por primera vez en 1995. A partir de mayo de 2007, en cumplimiento con las especificaciones del Proceso de la Comunidad Java, Sun volvió a licenciar la mayoría de sus tecnologías de Java bajo la Licencia Pública General de GNU. Otros también han desarrollado implementaciones alternas a estas tecnologías de Sun, tales como elCompilador de Java de GNU y el GNU Classpath.