JScrollBar y JTextArea SWING, scroll arriba, después de agregar un texto setear el Scroll al principio.
Un pequeño Dato Java, hay un problemita que ocurre cuando estamos trabajando con Swing, específicamente con el JScrollBar y JTextArea. Supongamos que a este JTextArea al presionar un botón le seteamos un texto grande el cual hace que por default el scroll baje y para visualizar el contenido desde el principio tenemos que subir el scroll, bueno ese comportamiento no es el adecuado ya que es fastidioso tener que mover el scroll hacia arriba para visualizar el contenido.
Para solucionar ese problema y que el scroll del JTextArea siempre este arriba solo tenemos que setear esto:
JTextArea.setCaretPosition(0);
Pequeños datos que pueden ahorrarte un montón de tiempo. Suerte!!
Algo que se ve muy bien en las aplicaciones de escritorio en Java, son los titulos con un color de fondo gradiente (JLabel Gradient Background), para hacerlo solo hay que sobreescribir el metodo void paintComponent(Graphics g) de la clase JComponent, recuerda que esta es la clase base para los componentes SWING.
Para lograr un color de fondo gradiente horizontal:
Que mejor manera de controlar la fecha que un usuario ingresa que con un calendario en donde con un simple clic ya obtengamos Año, Mes y Día, en Java Swing no trae por defecto un componente que facilite este comportamiento, así que por eso hay que descargar una librería externa llamada JCalendar, dicha librería tiene varias funcionalidades, podemos elegir desde un calendario la fecha completa, la fecha de hoy, elegir una fecha maxima o minima para seleccionar, elegir solo un día, año o mes... En fin en este Tutorial de JCalendar vamos hacer varios ejemplos con las funcionalidades que ofrece utilizando el IDE JBoss Developer Studio o eclipse.
Vaciar DefaultTableModel de un JTable. Quitar datos de un DefaultTableModel.
Cuando tenemos un JTable que utiliza DefaultTableModel muchas veces es necesario vaciar el JTable, en este caso hay que eliminar dato por dato del DefaultTableModel recorriéndolo de esta manera:
int numDatos = defaultTableModel.getRowCount();
for (int i = 0; i < numDatos; i++) {
defaultTableModel.removeRow(0);
}
Primero obtenemos el numero de datos que contiene el DefaultTableModel y después recorremos los datos con un bucle for para ir borrando el primer dato encontrado.
HyperSQL (HSQLDB) es una base de datos relacional, es hecha 100% en Java y corre en la maquina virtual de Java (JVM), hay muchas características que hacen de HSQLDB una base de datos atractiva para los desarrolladores, podemos usarla sin la necesidad de un servidor, para hacer pruebas en memoria utilizando la memoria RAM, es de código abierto, con solo importar el JAR a tu proyecto puedes comenzar a trabajar, bien sea para pruebas o para hacer funcionar tu aplicación en un ambiente de producción, claro que también trae su Database Manager en SWING para hacerle consultas a nuestras tablas por fuera de nuestra aplicación.
En este Tutorial vamos a centrarnos en el funcionamiento de HSQLDB desde Java. Lo que necesitamos es un IDE, en este caso yo utilizo JBoss Developer Studio o lo que es lo mismo eclipse y la última versión de HSQLDB que en este momento es la 2.3.3.
Tutorial de Aplicación Java Swing, ejemplo de una aplicación Swing con varias ventanas.
Cuando estaba comenzando a programar en Java Swing después de ver tantos artículos y "tutoriales" locos de la web muchas veces no encontraba lo que en realidad estaba buscando, quería saber como hacer una aplicación Swing con varias ventanas, actualizando la misma ventana, después con un poco más de experiencia comencé con los tutoriales de Java Sun los cuales recomiendo con los ojos cerrados, todo lo que tenga que ver con Java podrás encontrarlo ahí. Casi siempre comenzamos a practicar con los componentes de Swing, o con el famoso y comercial "Hola Mundo", bueno en esta entrada vamos a hacer un mini tutorial en el cual vamos a crear una aplicación Java Swing simple y sencilla con más de una ventana, la idea es ver el funcionamiento de una aplicación con más de una ventana y distintos componentes. Como es algo sencillo y mi estilo en Swing es sin utilizar ningún GUI Builder (tipo WindowBuilder), ni ningún plugin parecido, vamos hacerlo todo manual. Bueno manos al teclado, haremos una ventana simple imitando una ventana de login y si el usuario y la clave son correctos nos lleva a otra ventana de inicio, esta fácil...