Académique Documents
Professionnel Documents
Culture Documents
Base de Datos
26 de febrero de 2010 by JavaGirl
Hey! hola mis buenos lectores, de nuevo yo aqu bloggeando para ustedes..y en esta seccin
explicaremos paso a paso un tema bastante interesante y solicitado dentro del ambiente Java
Swing y es el uso de JComboBox con Objetos cargados a partir de una base datos que en este
tuto sera MySQL.
Veamos..
Requerimientos
- IDE con soporte para Java.(NetBeans,Eclipse,JCreator,JDeveloper,otros)
Previas
Para efectos de comodidad, usare el IDE NetBeans..empezemos!
- Descargar la base de datos DbItem Aqu.
- Creamos un Proyecto con el Nombre MiPrimeroComboConObjetos.
- Nuestro proyecto se rigira bajo el Estandar MVC, por lo tanto crearemos los siguiente
paquetes:
1.Modelo
1.1 Entidad
1.2 Datos
2. View
3.Controller
** Debe entederse que "Modelo" es un paquete que contiene a los paquetes "Entidad" y "Datos"
package Modelo.Datos;
import java.sql.Connection;
import java.sql.DriverManager;
public class Conexion_BD
{
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/dbLunagraf";
public static String user = "root";
public static String psw = "12345";
}
}
** El tipo de coleccin a usar depende del programador, puede usar vector o arraylist si as lo
requiere.
- En nuestro paquete Controller crearemos la clase CCItem con la siguiente estructura.
package Controller;
import Modelo.Datos.CDItem;
import Modelo.Entidad.CEItem;
import java.util.List;
{
return this.descripcion;
}
Que finalmente se vera as:
package Modelo.Entidad;
public class CEItem
{
private int id_Item;
private String descripcion;
private double precio;
public int getId_Item()
{
return id_Item;
}
public void setId_Item(int id_Item)
{
this.id_Item = id_Item;
}
public String getDescripcion()
{
return descripcion;
}
public void setDescripcion(String descripcion)
{
this.descripcion = descripcion;
}
public double getPrecio()
{
return precio;
}
public void setPrecio(double precio)
{
this.precio = precio;
}
{
int size=oListaItem.size();
for(int i=0;i
{
CbxItem.addItem(oListaItem.get(i));
}
}
}
- Disparamos este mtodo con el solo cargar del Frame, en mi caso lo disparare en el
constructor del Frame seguido del mtodo initComponents().
public FramePrincipal()
{
initComponents();
cargarItemsComboBox();
}
Resultado:
- Para que lo datos que contenga el objeto Item seleccionado del Jcombobox se
visualicen automticamente en las cajas respectivas aadiremos un evento del tipo
ActionPerfomed al mismo.
private void CbxItemActionPerformed(java.awt.event.ActionEvent evt) {
CEItem oItem=(CEItem)CbxItem.getSelectedItem();
if(oItem!=null)
{
TxtCodigo.setText(oItem.getId_Item()+"");
TxtPrecio.setText(oItem.getDescripcion());
}
}
** En este evento estamos recuperando el objeto seleccionado en el JComboBox haciendo uso
del casting "(CEItem)" y luego simplemente seteamos los atributos indicados en sus cajas de
texto indicada.
Resultado:
- Para el botn imprimir haremos un algoritmo parecido, le agregamos tambien un evento del
tipo ActionPerfomed que en su implementacion deba recorrer la lista de los Item delJComboBox
castearlos y finalmente visualizarlo en el JTextArea.
private void BtnImprimirActionPerformed(java.awt.event.ActionEvent evt) {
int size=CbxItem.getItemCount();
if(size>0)
{
for(int i=0;i
{
CEItem oItem=(CEItem)CbxItem.getItemAt(i);
TxaImpresion.append("Codigo:"+oItem.getId_Item()
+"\tDescripcion:"+oItem+"\tPrecio:"+oItem.getPrecio()+"\n");
}
}
}
Resultado: