Cómo obtener el ID de un JComboBox en Java (Cargado desde MySQL)

Logo Java

Uno de los componentes que normalmente utilizamos para “cargar” información de nuestras tablas de una base de datos, son los JComboBox o listas desplegables; con ellas podemos mostrar un listado de datos para que el usuario del Software pueda seleccionar de forma rápida, sin embargo. A nosotros como programadores, nos interesa conocer el “ID” del registro seleccionado, para almacenar en las tablas de la base de datos registros relacionados. A continuación veremos un ejemplo de cómo obtener el ID de un JComboBox en Java que te servirá para utilizarlo en tus proyectos de forma simple.

Cómo obtener el ID de un JComboBox en Java (MySQL)

Descripción del escenario: Tenemos una tabla en MySQL de productos tecnológicos y deseamos mostrarlos en un JComboBox, así mismo obtener el ID del producto seleccionado.

1. Nuestra tabla en MySQL

Veamos cómo está constituida la tabla en la base de datos que utilizaremos para este ejemplo:

CREATE TABLE `productos`( `id` INT(10) NOT NULL AUTO_INCREMENT, `nombre` VARCHAR(50), `desc` VARCHAR(100), PRIMARY KEY (`id`) );

Luego de crear la tabla, inmediatamente insertamos algunos registros:

INSERT INTO `productos` (`nombre`, `marca`) VALUES ('TECLADO', 'HP'); 
INSERT INTO `productos` (`nombre`, `marca`) VALUES ('MOUSE', 'MICROSOFT'); 
INSERT INTO `productos` (`nombre`, `marca`) VALUES ('MEMORIA USB 3.0', 'KINGSTON'); 
INSERT INTO `productos` (`nombre`, `marca`) VALUES ('MONITOR LCD', 'LG');

2. Clase conexión

Esta clase es necesaria para que nuestro proyecto pueda comunicarse con MySQL.

package combobox;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;

public class ConexionMYSQL {

public Connection conexion;
 public Statement sentencia;
 public ResultSet resultado;

public void ConectarBasedeDatos() {
 try {
 final String Controlador = "com.mysql.jdbc.Driver";
 Class.forName(Controlador);
 final String url_bd = "jdbc:mysql://localhost:3306/db_test";
 conexion = DriverManager.getConnection(url_bd, "root", "root");
 sentencia = conexion.createStatement();
 } catch (ClassNotFoundException | SQLException ex) {
 JOptionPane.showMessageDialog(null, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
 }
 }

public void DesconectarBasedeDatos() {
 try {
 if (conexion != null) {
 if (sentencia != null) {
 sentencia.close();
 }
 conexion.close();
 }
 } catch (SQLException ex) {
 JOptionPane.showMessageDialog(null, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
 System.exit(1);
 }
 }

public Connection getConnection() {
 return conexion;
 }
}

Recuerda que para utilizar esta clase, debes importar la librería: mysql-connector-java-5.1.18-bin.jar.

3. Clase productos

Sigue a la página 2.