Mostrando entradas con la etiqueta swing. Mostrar todas las entradas
Mostrando entradas con la etiqueta swing. Mostrar todas las entradas

sábado, 28 de mayo de 2016

Mi primera clase en YouTube sobre Java y Swing

     Este es mi primer vídeo con audio (el primero fue sin audio y totalmente olvidable) donde explico como crear un proyecto en Java con Swing en NetBeans 8.0.2.

     No me ha quedado todo lo bien que yo quisiera ni por asomo, pero es el primero, y espero ir mejorando muy mucho.

     Este vídeo correspondería con los artículos del blog:
Entrada 123 - Como crear un proyecto con Swing en NetBeans 8.X
Entrada 124 - Programando una consola en Java con NetBeans 2/X

     Me gustaría que me dijérais que es mejor para explicar estas cosas, si un artículo en blog o un vídeo en YouTube. O las dos cosas.

     @eltiopacote
Listado de artículos: http://www.pacovalverde.es/indice

lunes, 16 de mayo de 2016

Programando una consola en Java con NetBeans 2/X

     Como vimos en el artículo anterior en el que hemos creado la base de una aplicación para trabajar con Java Swing y siguiendo con el proyecto para tener una consola completa que envíe comandos tanto por el puerto serie como por ethernet, ahora vamos a continuar con la parte de la consola.

    Siguiendo con el código generado en el artículo anterior vamos a agregarle un par de componentes de texto y un botón de envío.
    Abrimos el proyecto ConsolaControlArduino y pinchamos en Design.

     1º En el panel de la derecha pinchamos sobre Campo de texto y seguidamente pinchamos sobre el marco que tenemos en el centro. Esto hará que se cree una caja de texto donde, en tiempo de ejecución, escribiremos los comandos que le enviaremos a Arduino.

     2º Le vamos a cambiar un par de propiedades a este componente. Con él seleccionado, pinchamos en el panel derecho sobre Codigo y pinchamos en Nombre de variable y modificamos el nombre del objeto por uno más descriptivo. Por ejemplo: jTextFieldComandos.


Es buena práctica utilizar nombres descriptivos que podamos identificar rápidamente cuando tengamos más objetos, y más si son del mismo tipo. Tener nombres como jTextField1, jTextField2, jTextField3 no es buena idea.
Después pinchamos en Propiedades y la propiedad text la dejamos en blanco. Estiramos el componente en el marco para que ocupe casi todo el marco y ya tenemos el primer componente.

     3º De la misma forma que el anterior componente agregamos un Área de texto donde aparecerán los comandos que se le envían a Arduino. Le cambiamos el nombre por jTextAreaTransferencias y lo ajustamos al tamaño deseado.

     4º Y de la misma forma agregamos un Botón para enviar los comandos. Le cambiamos el nombre por jButtonEnviar. Y en la propiedad text escribimos Envidar comando.

     5º Ahora hacemos una pequeña programación para que al presionar el botón enviar la cadena de texto que se haya escrito en la caja jTextFieldComandos se borre de esa caja y pase a jTextAreaTransferencias. Primeramente pinchamos sobre el botón que ejecutará esa acción y nos vamos al panel derecho y pinchamos sobre Eventos. Y nos vamos hasta el evento mouseClicked y seleccionamos jButtonEnviarMouseClicked. Esto generará un pequeño código al que agreraremos las sentencias.

if (!"".equals(jTextComandos.getText()))  // Si la caja de texto no está vacía
            enviarComando(jTextComandos.getText()); // ejecuta la función



NetBeans crea la cabecera del método y las llaves y solo podemos escribir en medio:

private void jButtonEnviarMouseClicked(java.awt.event.MouseEvent evt) {                                         
        if (!"".equals(jTextComandos.getText()))
            enviarComando(jTextComandos.getText());
}


     6º Ahora escribimos la función enviarComando(String mensaje).

public void enviarComando(String mensaje){
        jTextComandos.setText("");     // Borra el comando de la caja de texto
        jTextAreaTransferencias.append(mensaje + "\n");  // Escribe el mensaje                                                             // en el TextArea
}


Aunque de momento lo único que hace es borrar el texto de un sitio y escribirlo en otro.

     7º También vamos a programar un evento para la caja de texto, que será qué cuando se pulse la tecla Enter, si hay algo en la caja, lo envíe. Más o menos como hace cualquier chat. Pinchamos sobre la caja de texto jTextFieldComandos y en el panel derecho pinchamos sobre Eventos nos vamos a keyPressed y seleccionamos jTextFieldKeyPressed que generará la cabecera de programación para el evento. En su interior escribimos el siguiente código:

private void jTextFieldComandosKeyPressed(java.awt.event.KeyEvent evt) {
        if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
            if (!"".equals(jTextFieldComandos.getText()))
                enviarComando(jTextFieldComandos.getText());
        }
}


Marcará KeyEvent con error pero si le damos a la bombillita de la izquierda para que importe la librería correcta import java.awt.event.KeyEvent; o la escribimos nosotros el error desaparece.

    8º Solo queda ejecutarlo y ver como funciona.

    Sobre este código descrito (descargar) seguiremos para añadirle unas sencillas sentencias para que envíe los comandos por ethernet.

Artículos relacionados:
Entrada 123 - Como crear un proyecto con Swing en NetBeans 8.X
Entrada 120 - Proyecto Arduino ethernet SD + consola en Java 1/X
Entrada 117 - Configuración de la shield ethernet SD de Arduino

    @eltiopacote
Listado de artículos: http://www.pacovalverde.es/indice

domingo, 15 de mayo de 2016

Como crear un proyecto con Swing en NetBeans 8.X

     Para crear un proyecto de Java en NetBeans que tenga un formulario Swing solo debemos:
     1º Crear un nuevo proyecto con Nuevo proyecto → del tipo Java Application y le damos a Siguiente >

     2º Escribir un nombre y seleccionar una carpeta donde estará almacenado. Presionamos Terminar.

     3º Sobre el paquete que se ha creado (icono que parece una caja embalada) le damos a botón derecho para que aparezca el menú contextual y elegimos NuevoFormulario JFrame. Si no aparece esa opción nos vamos al final del menú contextural y elegimos → Otro… nos sale una caja de selección y elegimos en la parte izquierda Formulario de interfaz gráfica de AWT en la derecha Formulario Frame

     4º Ahora tenemos dos clases candidatas a ser ejecutadas aunque solo es la prinpipal la que tiene el main que es la que se creo por defecto con el proyecto. Podemos ver como aparecen en la imagen:

Nos vamos a disponer a borrar la clase que no tiene swing. En la imagen sería la clase ConsolaControlArduino.java. Los iconos son distintos:



     5º Borramos la clase que se creo por defecto. Dando al botón derecho del ratón sobre el archivo que queremos eliminar. Nos sale una nueva ventana y seleccionamos Aceptar.

     6º Ejecutamos la aplicación y nos aparece una ventana en la que decimos que la nueva clase es la principal. Es fácil porque solo podemos aceptar siguiendo los pasos descritos.

     7º Ejecutamos la aplicación y nos sale una ventana vacía.

         A partir de aquí a trabajar.

Entradas relacionadas:
Entrada 124 - Programando una consola en Java con NetBeans 2/X
Entrada 120 - Proyecto Arduino ethernet SD + consola en Java 1/X
Entrada 117 - Configuración de la shield ethernet SD de Arduino

     @eltiopacote
Listado de entradas: http://www.pacovalverde.es/indice/