Gadgets, Celulares, Telefonia, Electronic Music y mucho más…

JComboBox y un poco de SQLite

Como parte de un proyecto que estamos haciendo en el cual utilizamos SQLite, bueno un wrapper para Java, especificamente el de los chicos de Zentus es un driver jdbc asi que es muy útil, para descargarlo dirijanse a http://www.zentus.com/sqlitejdbc/

Pues para iniciar tenemos que instalar el driver jdbc de SQLite para ponerlo en marcha. En realidad lo importante del ejemplo del JCombobox es la integración con la BD, aunque en verdad es algo muy sencillo una vez que tenemos el ResultSet.

Bueno iniciemos...

Instalando SQLite para Java. (Windows)

Lo primero que debemos hacer es bajar los archivos correspondientes de la página de los chicos de Zentus, como trabajo sobre Windows pueden descargar la versión para windows directamente desde AQUI, es un TGZ asi que necesitarán el 7zip o Winrar para extraerlo. Yo renombre el archivo de sqlitejdbc-v033-native.jar a sqlitejdbc.jar por comodidad.

archivos_sqlite

Luego habrá que poner la DLL y el JAR en sus ubcaciones correspondientes, notese que ambas se colocan en la carpeta JRE dentro del JDK que tengamos instalado:

La DLL:
ruta_dll

El JAR:
ruta_jar

Y con esto tendremos instalado el drives JDBC de SQLite. Ahora pasemos a Jugar con el JComboBox...

Llenando JComboBox a través de una Base de Datos.

En este punto es importante aclara que no importa que motor de base de datos estemos usando, lo que importa es que el resultado de la consulta la obtengamos a través de un ResultSet.

Lo primero que necesitaremos será importar las librerí­as adecuadas:

JAVA:
  1. import javax.swing.*; // Nos permitirá usar el JComboBox
  2. import java.awt.*; // Esta para poder utilizar cosas como el Dimension
  3. import org.sqlite.JDBC; // Para poder acceder a la BD de SQLite
  4. import java.sql.*; // Y esta ultima para poder utilizar el ResultSet

Aclarando un poco este ejemplo, solo servirá para traer los datos desde la Base de Datos y ponerlos en el JComboBox, así­ no importa si tenemos una BD con la lista de todos los paises del mundo, el JComboBox se llenará automáticamente.

JAVA:
  1. /**
  2. * @(#)comboboinamico.java
  3. *
  4. *
  5. * @author: DaHouseCat
  6. * @version 1.00 2007/4/2
  7. * @im: carlos.z32cm (at) gmail.com
  8. */
  9.  
  10. import javax.swing.*;
  11. import java.awt.*;
  12. import org.sqlite.JDBC;
  13. import java.sql.*;
  14.  
  15. public class comboboinamico {
  16.        
  17.  
  18.     public comboboinamico() {
  19.  
  20.     }
  21.    
  22.  
  23.     public static void main(String[] args) {
  24.         // Inicializamos un JFrame y lo llamamos Pantalla para podr lanzar una ventana que
  25.         // contendrá a nuestro JComboBox y podamos probar que funciona ^_^
  26.         JFrame Pantalla = new JFrame ("Ejemplo JCombobox con Base de Datos");
  27.         Pantalla.setSize (new Dimension(350,50));
  28.         Pantalla.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Detiene la ejecución del programa al cerrar la ventana.
  29.         JComboBox lista =new JComboBox();
  30.         lista.setSize (new Dimension(350,20));
  31.         // Conectamos a la Base de datos, es necesario tener el TRY y el CATCH, si no lo tenemos
  32.         // no funcionará de ninguna manera.
  33.         try {
  34.             String fileName = "test.s3db";
  35.             Class.forName("org.sqlite.JDBC");
  36.             Connection conn = DriverManager.getConnection("jdbc:sqlite:"+fileName);
  37.             Statement stmt = conn.createStatement();
  38.             String query = "SELECT * FROM Registros";
  39.         // Ejecutamos el query y el valor devuelto lo recibimos en la variable "rs"
  40.         // rs.next() nos lleva por cada una de las filas que se extrajeron
  41.         // rs.getString("CAMPO"; saca la cadena del CAMPO que le especifiquemos
  42.         // y lista.addItem(); le agrega lo que sacamos del campo al JComboBox
  43.             ResultSet rs = stmt.executeQuery(query);
  44.             while (rs.next()) {
  45.                 lista.addItem(rs.getString("Dato"));
  46.             }
  47.              conn.close();
  48.             }
  49.             catch (Exception ex) {
  50.                 System.out.println(ex.getMessage());
  51.                 System.out.println(ex.toString());
  52.             }
  53.         // Agregamos el JComboBox al JFrame y mostramos el JFrame
  54.         Pantalla.add(lista);
  55.         Pantalla.setVisible(true);
  56.     }
  57. }

Como verán fue sumamente sencillo agregarlo, claro este es un script un poco más elegante que el primero que utilice para hacer esto, por eso comparto con todos la experiencia, ya después les mostraré algunos de JTable y otros componentes tan bonitos del Java Swing, por cierto para hacer una interfaz más bonita con el JFrame, usen un Layout como el GridBagLayout.

Tip: Acerca de Layouts

Yo recomiendo que se haga de la siguiente manera:

JFrame <- JPanel <- Componenetes Java Swing

Así­ pues simplemente nos la liamos con el JPanel y luego sencillamente agregamos el JPanel al JFrame y listo en mi experiencia fue más sencillo.

Tambien para editar la BD de SQLite les recomiendo el SQLite Administrator, esta muy bien y fácil de utilizar.

Archivos del Ejemplo

Ejemplo JComboBox - Incluye la Base de Datos.

Ojala esto les sea útil... :happy_tb:

¿Te ha gustado este artículo? Subscribete vía Email, para ¡recibirlos en tu correo!

¿No encontró lo que buscaba? ¡Use el buscador!

 
Escrito para el 2 de April de 2007
RSS 2.0 Trackback

6 Comentarios este tema es Hot

  1. jorgelig Dijo:

    Lo lei rapidamente, y me parece interesante. Luego con mas calma lo leo de nuevo XD

    Salu2



    Escrito el 2 de April de 2007 a las 16:55
    Usando Mozilla Firefox Mozilla Firefox 2.0.0.2 en Windows Windows XP
  2. Proz Dijo:

    DHC me encontre en un problema con la aplicaci



    Escrito el 3 de April de 2007 a las 20:54
    Usando Mozilla Firefox Mozilla Firefox 2.0.0.3 en Ubuntu Linux Ubuntu Linux
  3. Rodolfo Rodriguez Dijo:

    Hola, fue muy util su exposicion para solucionar el tema de llenar un combobox de Javax Swing con elementos de una Tabla en una BD. En mi caso estoy usando el editor NetBeans en donde genere por el editor GUI Matisse un combobox. Ahora el problema que tengo es que en NetBeans existe una forma de pasarle elementos al combobox. La forma requerida es llamada FormConnection. En esta forma, debo ingresar un codigo de preinicializacion y un codigo de postinicializacion, y en medio de ambos codigos el codigo que contendra mis elementos a poner en el combobox. EL problema es que no encuentro que clase debo usar para generar este listado. He probado con ComboBoxModel, ComboBox, pero al momento de ejecutar mi archivo, me corre todo, es decir se conecta a la BD MYSQL, llama la tabla pero no aparece nada en mi combobox. Podrian darme alguna luz sobre que clase del componente Javax.Swing debo usar para implementar la lista de elementos de mi Tabla en mysql.



    Escrito el 14 de April de 2007 a las 9:50
    Usando Opera Opera 8.54 en Windows Windows XP
  4. mate Dijo:

    hola, espero me puedan responder, estoy checando el ejemplo y cuando corro el programa, surge una excepsion de sql, es esta java.sql.SQLException: out of memory
    les agradeceria si me pudieran ayudar



    Escrito el 12 de April de 2008 a las 0:12
    Usando Mozilla Firefox Mozilla Firefox 2.0.0.13 en Windows Windows XP
  5. Neko Metal Dijo:

    Es genial!!! D: Estube buscando toda la tarde como llenar un maldito combo box y por fin, aquí está y funciona T-T

    Muchas gracias ^^



    Escrito el 4 de June de 2008 a las 19:49
    Usando Internet Explorer Internet Explorer 7.0 en Windows Windows XP
  6. Christian Dijo:

    Hola nuevamente, pudiste subir el codigo??..si es asi, donde lo encuentro….
    ah si no fuese mucho podrias indicarme el procedimiento a lo que te plantee por chat (varios jcombobox enlazados…recuerdas)saludos desde Chile!!!

    Christian



    Escrito el 9 de July de 2008 a las 0:42
    Usando Mozilla Firefox Mozilla Firefox 3.0 en Windows Windows XP

Deja un Comentario

Hey tu! usar emoticones te hace más cool!
                                         

Comparar precios y encontrar el mejor Telefono movil con twenga !
Descarga Musica, Videos, mp3 y mucho más Tutoriales de Fireworks en Español Guirichop Bucaneros de Campeche, Baloncesto Profesional Aeromental We Love Geeks! Licencia Creativa

Escriba su e-mail:

Reciba en su correo electrónico lo más reciente
en DaHouseCats Blog

Comentarios

Suscríbete

  •  
  • Add to Twitter
  • Add to Google Reader or Homepage
  • Add to Technorati Favorites

Disclaimer:

  • DaHouseCat, no se hace responsable acerca del mal uso que se le dé a la información contenida en los artículos y / o tutoriales, quedando en absoluta responsabilidad del usuario.

Administración

  • DaHouseCat
    Posts: 499 - 100%
    Comentarios: 4666 - 100%
    Pingbacks: 96 - 100%
    Score: 10119
499 posts, generados por 1 autores.

Buscar

 

M. Instántanea

B. de Blogueros

DaHouseCat en:

Blogs Amigos

Blogs Campeche

Webs Amigas

Categorías




Archivo

Recomendados

Este blog utiliza Worpress y fue diseñado por DaHouseCat - 2007
El contenido y algunas imagenes de DaHouseCat's Blog estan bajo la licencia de
Reconocimiento-NoComercial-SinObraDerivada 2.5