Access en Java con Ucanaccess 64 bits

Ejercicio de Java para consola: conectar con una base de datos de Microsoft Access mediante el controlador JDBC UCanAccess, emitir sentencias SQL a la base de datos y mostrar los resultados, ejecutar el programa desde línea de comandos junto con las dependencias, crear archivos de comando para ejecutar el programa.

La conexión JDBC-ODBC no se incluye desde Java 8. Existen algunos controladores JDBC propietarios para conectar con MS Access pero el proyecto UCanAccess está activo, es open source, funciona bien, es sencillo de utilizar y proporciona un controlador JDBC generado sobre código de Jackcess.

Nota: Jackcess a diferencia de UCanAccess es una librería de código Java diseñada para leer y escribir bases de datos de MS Access que no es un controlador JDBC sino una implementación directa de las características disponibles para interactuar con bases de datos de MS Access. Su licencia es del tipo Apache License.

Leer más

Variable JAVA_HOME en Windows 10

Configurar las variables de entorno para que Windows 10 ejecute correctamente los programas Java, tanto para compilarlos (javac.exe) como para ejecutarlos (java.exe); este artículo aplica a Windows 10 y JDK 8 (Java Development Kit)

Después de instalar JDK en Windows 10 es posible que los ejecutables de Java no sean reconocidos desde la línea de comandos a pesar de que la instalación del JDK añade a la variable de entorno de sistema PATH el valor
C:\Program Files (x86)\Common Files\Oracle\Java\javapath.

Para solucionarlo hay que decirle al sistema dónde están los ejecutables de Java. Esto se consigue en 2 pasos bastante sencillos que configuran la variable de entorno JAVA_HOME.

Leer más

Access en Java con puente ODBC de 32 bits

Conectar con una base de datos de Microsoft Access por medio del puente JDBC-ODBC configurando el origen de los datos en el panel de control ODBC de 32 bits mostrando los registros obtenidos desde consultas SQL con Java 7

Requisitos previos

El puente JDBC-ODBC ha dejado de estar disponible en Java 8 por lo que para poder utilizarlo hay que tener Java 7 o versión anterior. Aunque se trata de un método obsoleto y poco eficiente de acceder a bases de datos de Microsoft Access desde Java, todavía hay usuarios que lo utilizan y que no desean migrar sus programas a controladores propios del lenguaje, libres (ucanaccess, jackcess…) o comerciales.

Leer más

Abrir archivos JAR con doble clic en Windows 10

Crear archivos JAR desde línea de comandos. Archivos JAR ejecutables y no ejecutables. Ejecutar un archivo JAR desde línea de comandos. Configurar la asociación del tipo de archivo JAR para que se ejecute correctamente con doble clic en Windows. Acceder a imágenes y otros recursos almacenados en un archivo JAR

Comprimir y empaquetar ficheros en un archivo JAR no ejecutable

Comprimir y empaquetar ficheros en un archivo JAR:

jar -cf archivo.jar archivo1 archivo2 archivo3

Leer más

JTextArea con texto multilínea en Java

JTextArea en Java para campos de texto con varias líneas en contraposición a JTextField que sólo admite 1 línea; añadir líneas desde JTextField a JTextArea y vaciar el campo de texto

JTextField es un componente que muestra una sola línea de texto, en cambio JTextArea muestra múltiples líneas de texto. Ambos componentes muestran todo el texto en el mismo formato (fuente, color…), sin embargo, es factible modificar esos parámetros en lugar de los que Java implementa por defecto.

Para crear un objeto JTextArea se pueden emplear varios constructores:

TextArea texto = new JTextArea(); //sin parametros
JTextArea texto = new JTextArea(10,40); //numero de filas y columnas
JTextArea texto = new JTextArea( "Texto dentro de JTextArea" ); //cadena de texto

Leer más

Acciones en Java con ActionListener

Ejecutar acciones sencillas al pulsar botones mediante la interface ActionListener: detectar la pulsación del botón como un evento de acción (ActionEvent) y llamar a la acción prevista con el método actionPerformed

Las aplicaciones han de responder a las acciones que realiza el usuario, por ejemplo: cerrar la ventana al pulsar un botón. Es necesario poder detectar las acciones de usuario y convertirlas en acciones de programa. Java dispone de varias formas de implementar este funcionamiento. En este ejercicio se mostrarán algunas de ellas. Todas se basan en el uso de Interfaces.

  • Las Interfaces son clases «prefabricadas» con propósitos definidos
  • Cada Interface contiene declaraciones de métodos (nombre del método, lista de argumentos y tipo de retorno) pero estos métodos no están implementados (carecen de cuerpo) y deben ser desarrollados
  • Todos los métodos de las Interfaces son public
  • Las Interfaces también pueden declarar constantes (public final static).

Leer más

JLabel con diseño personalizado en Java

Control JLabel en el que se configuran varios parámetros de diseño (alineación vertical y horizontal, color y tipo de borde y de letra) y se muestra texto con salto de línea utilizando código HTML

En este ejercicio se muestra una ventana muy simple que contiene:

  • 3 etiquetas en la parte superior, cada una con variaciones en su diseño
  • 1 botón conectado a una acción en la parte inferior
  • 2 etiquetas vacías a ambos lados del botón para contribuir a mantener la disposición (layout) de los elementos.

Leer más

Uso de cadenas («strings») en Java

Manipulación de cadenas (‘strings‘) en Java y código de ejemplo

Un objeto de la clase String se crea a partir de literales (cadena de caracteres); Java crea un objeto String cuando encuentra una cadena entre comillas. Los String permiten operar con palabras y frases. No es tipo nativo de Java, existe la clase java.lang.String.
En Java sólo los tipos primitivos del lenguaje (byte, short, int, long, float, double, char, boolean) se comparan con ==, los Strings se comparan con el método equals que compara los caracteres que componen ambos String.

boolean B = cadena2.equals(cadena1);

Se puede crear un objeto String de 2 maneras:

String cadena = "Cadena";
String cadena = new String("Cadena");

Leer más