Para los que solo han realizado programacion con entradas/salidas ( I/O E/S) tipo texto o consola tipo primitivo DOS, es TIEMPO para iniciar a programar en interfaces de ventanas de usuario GUI. Encontré unos super video tutoriales, implica que No soy el autor de los vídeos, pero realizare el resumen de todos los vídeos, con algunos anexos y variantes propias para hacerlo mas didáctico y explicativo, para mi esto es una forma de recordar mi autoavance en el autoaprendizaje de JAVA
Si deseas un nivel básico, y programas en consola de texto visita otro hilo que he creado
http://www.todopic.com.ar/foros/index.php?topic=45009.0Autor de los super vídeo tutoriales mil gracias a
Daniel López Espinoza AKA/TCC (Also Know As/También Conocido Como) Nekszerhttps://www.youtube.com/user/NEKSZERvideo #1 Como crear nuestra primer Ventana o GUI (Graphical User Interface/Interface Gráfica de Usuario)/!\ USAMOS LA BIBLIOTECA swing, que es predeterminada en java, hay otras bibliotecas que hacen lo mismo, pero iniciaremos con SWING, tal ves al comienzo no se entienda todo, pero la idea es avanzar lo mas que se pueda ya que en en cada siguiente video se despejan las dudas que quedaron en el anterior
Resumen: El primer ejemplo consiste en colocar un botón y cada ves que se lo pulse mostrar un contador de pulsaciones Primer paso descargar e instalar el IDE NetBeans
https://netbeans.org/ no tiene misterio la instalación por eso no se anexara un video explicativo, NetBeans IDE también esta disponible en ESPAÑOL
PROYECTO #1 Componente o controlador tipo BUTTOM / BOTÓN y un uso simple del mismo
COMO construir PASO A PASO un proyecto con NETBEANS
PASO 0: iniciar el IDE NetBeans
PASO 0.1: luego crear un
nuevo proyecto Menu (File > New Project) aparece una primer ventana para seleccionar el tipo de proyecto
sobre el listado de CATEGORIES seleccionar: JAVA
sobre el listado PROJECTS seleccionar JAVA APPLICATION
RESUMEN
CHOOSE PROJECT
CATEGORIA: JAVA
TIPO DE PROYECTO : JAVA APPLICATION
luego oprimir [NEXT]
PASO 0.2: La 2da ventana desplegada hace referencia al nombre y ubicación del proyecto
sobre el campo PROJECT NAME: colocar un nombre por ejemplo
GUI_1, se recomienda que inicie en Mayúscula
en PROJECT LOCATION, en mi caso lo almaceno en la carpeta Documentos, subfolder NetBeansProjects
C:\Users\<USER NAME>\Documents\NetBeansProjects\
En PROJECT FOLDER, escribir el subdirectorio del proyecto, se recomienda que cada proyecto este en un folder diferente.
C:\Users\<USER NAME>\Documents\NetBeansProjects\GUI_1
Sobre el campo CREATE MAIN CLASE, para este primer ejemplo deseleccionarlo para que no incorpore el archivo de clase principal.
PASO 1: en el lado izquierdo del IDE visualizar la ventana de titulo PROJECTS que muestra un árbol de proyectos recientemente creados, si este es el primer proyecto, solo aparecerá las siguientes ramas /GUI_1/SOURCE PACKAGES (este ultimo se almacena en el disco duro como src, ubicado luego de nombre del proyecto/GUI_1/src)
C:\Users\<USER NAME>\Documents\NetBeansProjects\GUI_1\src
1.1: crear un nuevo
contenedor de paquetes para localizar y ordenar mejor las CLASEs de este proyecto, sobre la rama SOURCE PACKAGES dar clic derecho para desplegar una lista vertical de menús, seleccionar NEW/JAVA_PACKAGE y el campo NAME colocar por ejemplo
paquete1 el resto de campos conservarlos como están, en futuros post se explicara el uso de modificarlos
2: luego crear una clase de tipo
JFRAME FORM nombrarla como
Frm_MiPrimerVentanael archivo creado es Frm_MiPrimerVentana.java que pertenece al PAQUETE LLAMADO paquete1
FORM en castellano es HORMA o Molde que da forma a la ventana, el uso de FORM es un Contenedor de controles, como botón etc
se usa el Prefijo: Frm para denotar la clase de este tipo, al crear una HORMA en la ventana de edición tenemos una pestaña con el nombre de la clase en este caso Frm_MiPrimerVentana.java que a su ves contiene 3 subpestañas [SOURCE][DESING][HISTORY]
resumen:
ARBOL del Proyecto
GUI_1
--SOURCE PACKAGES
----PAQUETE1
------Frm_MiPrimerVentana (C:\Users\<USER NAME>\Documents\NetBeansProjects\GUI1\src\paquete1\frm_MiPrimerVentana.java)
[DESING] es una VENTANA de DISEÑO o mejor de EDICIÓN GRÁFICA, donde podemos empezar a colocar O ARRASTAR objetos como botones (teclas virtuales), menús, etc. para crear nuestra tan anhelada primer GUI, algunos libros lo llaman programacion a golpe de ratón, pero eso no es totalmente cierto, pues hay que digitar y crear subrutinas o métodos que hagan o efectúen cosas, y ello se hace en la pestaña [SOURCE]. La ventana de edición gráfica asocia una archivo de extensión .FORM que contiene el código gráfico escrito en lenguaje XML
en este caso es
C:\Users\<USER NAME>\Documents\NetBeansProjects\GUI1\src\paquete1\Frm_MiPrimerVentana.FORM
Al lado de la pestaña [DESING] esta la pestaña denominada [SOURCE] que contiene el código fuente en JAVA del archivo Frm_MiPrimerVentana.java, podemos decir que contiene la GUI en instrucciones de texto o lenguaje JAVA
Código simplificado de Mi_primer_ventana.java
//
//Main File: Frm_MiPrimerVentana.java
//Info: uso del control BUTTOM
// Nombre del paquete al cual pertenece el archivo
package paquete1;
// Nombre de la clase igual al nombre del archivo pero sin extensión (Frm_MiPrimerVentana)
// Frm_MiPrimerVentana hereda de javax.swing.JFrame en futuros post se explicara la Herencia
// acceso publico
public class Frm_MiPrimerVentana
extends javax.
swing.
JFrame {
// Método Constructor, acceso publico y nombre igual a la clase
public Frm_MiPrimerVentana() {
// initComponents() es un método o función que inicializa los objetos controladores de la GUI
initComponents();
}
// Método para inicializar los controladores, método creado por el IDE, también se puede crearlo manualmente, en próximos vídeos se abarcara esta opción
private void initComponents() {
...
}
// Variables declaration - do not modify
private javax.
swing.
JButton btnContador
; // End of variables declaration
}
//
3: dar un clic sobre la pestaña [DESING], se muestra en el lado derecho del IDE, una la pestaña [PALETTE] (paleta de controladores y contenedores) seleccionar
BUTTOM (tecla virtual), y arrastrarlo a cualquier
posición de la ventana [DESING]
/!\ en los bordes del botón se puede expandir o comprimir la dimensión del rectángulo del botón, expandirlo un poco horizontalmente para visualizar un texto largo que colocaremos en el.
4: con clic derecho sobre el botón creado se despliega un menú, seleccionar el menú
EDIT TEXT y renombrarlo del nombre original que es
JButtom1 (javaButtom#) por ejemplo a
CONTAR PULSACIONES este nombre es el
NOMBRE VISIBLE del boton, mientras como veremos posteriormente existe el nombre interno de programacion
5: renombrar el identificador de programacion, (clic derecho sobre el botón creado ...) desde el submenú
CHANGE VARIABLE NAME ... de
JButtom1 a por ejemplo
btnContador con el propósito de identificarlo mas fácilmente dentro del JAVA SOURCE CODE
Componente/Controlador: Botón de comando
Nomenclatura: Button, interno JButtom#
Prefijo para el identificador/atributo/variable: btn (inicia en minúscula)
Uso: Ejecuta un comando o una acción.Notamos que en el final del archivo Frm_MiPrimerVentana.java se agrego la siguiente sentencia
//
private javax.
swing.
JButton btnContador
; //
y dentro del método private void initComponents() { ...
aparece la sentencia que asigna el texto al botón, ademas de su posición y otros, que por ahora no nos interesa pues lo manejamos a nuestro gusto desde la subpestaña DESING
//
btnContador.setText("CONTAR PULSACIONES");//
Ahora dentro de nuestra primer acción a realizar, se requiere que al oprimir ese primer botón se efectué un comando, código o
evento, por ejemplo algo demasiado simple, puede ser que contabilice el numero de pulsaciones realizadas
5.1: pasar de la pestaña [DESING] a la pestaña [SOURCE] y explorar el código fuente de Mi_primer_ventana.java
6: Al dar doble clic sobre el botón OBSERVAMOS que se agrega automáticamente al archivo Frm_MiPrimerVentana.java el método del evento o acción realizada por el botón, este método SE DEFINE COMO btnContadorActionPerformed(...) agrega un POSTFIJO al nombre de variable (ActionPerformed/AcciónRealizada), por ahora no nos interesa los parámetros de este método
código del evento del botón dentro de Frm_MiPrimerVentana.java
//
// Método para el evento del botón que se crea una sola ves, al dar doble clic sobre el botón
private void btnContadorActionPerformed
(java.
awt.
event.
ActionEvent evt
) { // Código a digitar por nosotros
}
//
Ahora incluiremos el código para el contador de pulsaciones
//
int contador = 1;
private void btnContadorActionPerformed
(java.
awt.
event.
ActionEvent evt
) { String mensajeContador
= "contador actual en: " + contador
; btnContador.setText(mensajeContador);
contador = contador + 1;
}
//
En el cuerpo del evento del botón es el que esta entre corchetes, la sentencia
btnContador.setText(mensaje); usa setText sobre el identificador o atributo del botón
el botón [PLAY] de la barra de herramientas del IDE, compila y ejecuta, nuestra primer ventana que contiene un botón y al dar el primer clic sobre ese botón despliega dentro del mismo el valor de 1, luego al segundo clic 2, ...
Conclusión: Hemos agregado nuestro primer CONTROLADOR o Componente (Botón) a la GUI. ejemplo muy sencillo pero solo es el inicio
¿Que os parece este resumen que he realizado del vídeo? es comprensible, entusiasma a iniciarse en java ... ? sugerencias, ideas ...