Está en la página 1de 34

Jos Jess Balmaceda Tec.

Computacin e Informtica Pgina - 1 -


FACTURAENJAVA(ECLIPSE)CONMYSQL

































package moduloCliente;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 2 -
import java.awt.SystemColor;
import java.awt.event.KeyEvent;
import java.text.DecimalFormat;

import javax.swing.SwingConstants;
import moduloData.Classconexion;

public class JFactura extends JFrame {
DefaultTableModel modelo;
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JButton btn_agregar = null;
private JScrollPane ScrollPane = null;
private JTable tabla = null;
private JPanel Paneltotal = null;
private JLabel lbl_subtotal = null;
private JLabel lbl_igv = null;
private JLabel lbl_total = null;
private JTextField jtxt_subtotal = null;
private JTextField jtxt_igv = null;
private JTextField jtxt_total = null;
private JPanel PanelProducto = null;
private JLabel jLabel = null;
private JTextField jtxt_item = null;
private JLabel lbl_nombre = null;
private JTextField jtxt_nombre = null;
private JLabel lbl_descripcion = null;
private JTextField jtxt_descripcion = null;
private JLabel lbl_precio = null;
private JTextField jtxt_precio = null;
private JLabel lbl_cantidad = null;
private JTextField jtxt_cantidad;
private JTextField jtxt_detalle = null;
private JPanel Panelbotones = null;
private JButton btn_eliminar = null;
private JButton btn_modificar = null;
private JPanel PanelFactura = null;
private JButton btn_nuevaFactura = null;
private JButton btn_cancelar = null;
private JPanel PanelCliente = null;
private JLabel lbl_cliente = null;
private JTextField jtxt_cliente = null;
private JLabel lbl_direccion = null;
private JTextField jtxt_direccion = null;
private JLabel lbl_telefono = null;
private JTextField jtxt_telefono = null;
private JLabel lbl_ruc = null;
private JTextField jtxt_ruc = null;
private JLabel lbl_email = null;
private JTextField jtxt_email = null;
private JButton btn_buscliente = null;
private JPanel PanelNumFac = null;
private JPanel jPanel = null;
private JButton btn_reporte = null;
private JLabel lbl_factura = null;
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 3 -
private JLabel lbl_serie = null;
Classconexion objconex=new Classconexion();
private JLabel lbl_numfac = null;
private JPanel PanelFecha = null;
private JLabel jLabel1 = null;
private JLabel lbl_fecha_sistema = null;

public JFactura() {
super();
initialize();
temporal();
inicio();

}

public void llamarProcedimientoAlmacenadoFechaServidor()
{
try{

objconex.conexion();
objconex.cstmt=objconex.cn.prepareCall("call fecha(?)");
objconex.cstmt.execute();
lbl_fecha_sistema.setText(""+objconex.cstmt.getString(1));
objconex.cstmt.close();
objconex.cn.close();
}catch(Exception ex){
System.out.print(""+ex.getMessage());
}
}



public void temporal(){
String cols[] =
{"Item","Nombre","Descripcin","Precio","Cantidad","Monto"};//*************************
modelo=new
DefaultTableModel(cols,0);//************************************************
tabla.setModel(modelo);
}

public void inicio()
{
jtxt_subtotal.setText("0.00");
jtxt_igv.setText("0.00");
jtxt_total.setText("0.00");
}


private void initialize() {
this.setSize(985, 707);
this.setBackground(java.awt.SystemColor.activeCaptionBorder);
this.setResizable(false);
this.setContentPane(getJContentPane());
this.setTitle("Factura");
}
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 4 -

private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.setBackground(java.awt.SystemColor.scrollbar);
jContentPane.add(getScrollPane(), null);
jContentPane.add(getPaneltotal(), null);
jContentPane.add(getPanelProducto(), null);
jContentPane.add(getJtxt_detalle(), null);
jContentPane.add(getPanelbotones(), null);
jContentPane.add(getPanelFactura(), null);
jContentPane.add(getPanelCliente(), null);
jContentPane.add(getPanelNumFac(), null);
jContentPane.add(getJPanel(), null);
jContentPane.add(getPanelFecha(), null);
}
return jContentPane;
}

public void limpiaNumfacFecha()
{
lbl_fecha_sistema.setText("");
lbl_numfac.setText("FAC00000");
}

private JButton getBtn_agregar() {
if (btn_agregar == null) {
btn_agregar = new JButton();
btn_agregar.setText("Agregar");
btn_agregar.setEnabled(false);
btn_agregar.setBounds(new java.awt.Rectangle(5,10,123,26));
btn_agregar.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
e) {
try{
JFactura _this = new JFactura();
AgregarProductos ap = new
AgregarProductos();
ap.Valores = "otro formulario";
ap.Frame = _this;
ap.setVisible(true);
if(ap.tabla.getRowCount()>0 &&
ap.jtxt_nombreprod.getText().intern()!="")
{

jtxt_item.setText(ap.tabla.getValueAt(ap.tabla.getSelectedRow(),0).toString());

jtxt_nombre.setText(ap.tabla.getValueAt(ap.tabla.getSelectedRow(),1).toString(
));

jtxt_descripcion.setText(ap.tabla.getValueAt(ap.tabla.getSelectedRow(),2).toStri
ng());

Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 5 -
jtxt_precio.setText(ap.tabla.getValueAt(ap.tabla.getSelectedRow(),3).toString())
;
jtxt_cantidad.setEnabled(true);
jtxt_cantidad.requestFocus();
}
else
{
limpiar();
}
}catch(Exception ex){

}
}
});
}
return btn_agregar;
}


private JScrollPane getScrollPane() {
if (ScrollPane == null) {
ScrollPane = new JScrollPane();
ScrollPane.setLocation(new java.awt.Point(155,362));
ScrollPane.setViewportView(getTabla());
ScrollPane.setSize(new java.awt.Dimension(670,170));
}
return ScrollPane;
}

private JTable getTabla() {
if (tabla == null) {
tabla = new JTable();
tabla.setShowGrid(true);
tabla.setForeground(new java.awt.Color(102,102,102));
tabla.setBackground(java.awt.SystemColor.controlHighlight);

}
return tabla;
}

private JPanel getPaneltotal() {
if (Paneltotal == null) {
lbl_total = new JLabel();
lbl_total.setBounds(new java.awt.Rectangle(30,50,74,21));

lbl_total.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbl_total.setForeground(java.awt.Color.white);
lbl_total.setText("Total : ");
lbl_igv = new JLabel();
lbl_igv.setBounds(new java.awt.Rectangle(30,29,74,20));

lbl_igv.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbl_igv.setForeground(java.awt.Color.white);
lbl_igv.setText("Igv(19%) : ");
lbl_subtotal = new JLabel();
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 6 -
lbl_subtotal.setBounds(new java.awt.Rectangle(30,8,74,21));

lbl_subtotal.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbl_subtotal.setForeground(java.awt.Color.white);
lbl_subtotal.setText("Subtotal : ");
Paneltotal = new JPanel();
Paneltotal.setLayout(null);
Paneltotal.setBounds(new java.awt.Rectangle(566,543,249,84));

Paneltotal.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Syst
emColor.activeCaptionBorder,1));
Paneltotal.setBackground(java.awt.SystemColor.scrollbar);
Paneltotal.add(lbl_subtotal, null);
Paneltotal.add(lbl_igv, null);
Paneltotal.add(lbl_total, null);
Paneltotal.add(getJtxt_subtotal(), null);
Paneltotal.add(getJtxt_igv(), null);
Paneltotal.add(getJtxt_total(), null);
}
return Paneltotal;
}

private JTextField getJtxt_subtotal() {
if (jtxt_subtotal == null) {
jtxt_subtotal = new JTextField();
jtxt_subtotal.setEnabled(true);
jtxt_subtotal.setEditable(false);

jtxt_subtotal.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_subtotal.setText("");
jtxt_subtotal.setForeground(new java.awt.Color(102,102,102));
jtxt_subtotal.setBounds(new java.awt.Rectangle(104,8,122,20));
}
return jtxt_subtotal;
}

private JTextField getJtxt_igv() {
if (jtxt_igv == null) {
jtxt_igv = new JTextField();
jtxt_igv.setLocation(new java.awt.Point(104,30));
jtxt_igv.setEnabled(true);
jtxt_igv.setEditable(false);
jtxt_igv.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_igv.setForeground(new java.awt.Color(102,102,102));
jtxt_igv.setSize(new java.awt.Dimension(122,20));
}
return jtxt_igv;
}

private JTextField getJtxt_total() {
if (jtxt_total == null) {
jtxt_total = new JTextField();
jtxt_total.setBounds(new java.awt.Rectangle(104,52,122,20));
jtxt_total.setEditable(false);
jtxt_total.setBackground(java.awt.SystemColor.controlHighlight);
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 7 -
jtxt_total.setForeground(new java.awt.Color(102,102,102));
jtxt_total.setEnabled(true);
}
return jtxt_total;
}

private JPanel getPanelProducto() {
if (PanelProducto == null) {
lbl_cantidad = new JLabel();

lbl_cantidad.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbl_cantidad.setLocation(new java.awt.Point(193,35));
lbl_cantidad.setSize(new java.awt.Dimension(77,21));
lbl_cantidad.setForeground(java.awt.Color.white);
lbl_cantidad.setText("Cantidad : ");
lbl_precio = new JLabel();
lbl_precio.setBounds(new java.awt.Rectangle(14,35,51,21));

lbl_precio.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbl_precio.setForeground(java.awt.Color.white);
lbl_precio.setText("Precio : ");
lbl_descripcion = new JLabel();

lbl_descripcion.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbl_descripcion.setLocation(new java.awt.Point(421,12));
lbl_descripcion.setSize(new java.awt.Dimension(90,21));
lbl_descripcion.setForeground(java.awt.Color.white);
lbl_descripcion.setText("Descripcin : ");
lbl_nombre = new JLabel();

lbl_nombre.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbl_nombre.setLocation(new java.awt.Point(193,11));
lbl_nombre.setSize(new java.awt.Dimension(77,21));
lbl_nombre.setForeground(java.awt.Color.white);
lbl_nombre.setText("Nombre : ");
jLabel = new JLabel();
jLabel.setText("Item : ");
jLabel.setLocation(new java.awt.Point(25,11));
jLabel.setSize(new java.awt.Dimension(40,21));
jLabel.setForeground(java.awt.Color.white);

jLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
PanelProducto = new JPanel();
PanelProducto.setLayout(null);

PanelProducto.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt
.SystemColor.activeCaptionBorder,1));
PanelProducto.setLocation(new java.awt.Point(155,274));
PanelProducto.setSize(new java.awt.Dimension(670,68));
PanelProducto.setBackground(java.awt.SystemColor.scrollbar);
PanelProducto.add(jLabel, null);
PanelProducto.add(getJtxt_item(), null);
PanelProducto.add(lbl_nombre, null);
PanelProducto.add(getJtxt_nombre(), null);
PanelProducto.add(lbl_descripcion, null);
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 8 -
PanelProducto.add(getJtxt_descripcion(), null);
PanelProducto.add(lbl_precio, null);
PanelProducto.add(getJtxt_precio(), null);
PanelProducto.add(lbl_cantidad, null);
PanelProducto.add(getJtxt_cantidad(), null);
}
return PanelProducto;
}

private JTextField getJtxt_item() {
if (jtxt_item == null) {
jtxt_item = new JTextField();
jtxt_item.setLocation(new java.awt.Point(67,11));
jtxt_item.setEnabled(true);
jtxt_item.setEditable(false);
jtxt_item.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_item.setForeground(new java.awt.Color(102,102,102));
jtxt_item.setText("");
jtxt_item.setSize(new java.awt.Dimension(122,21));
}
return jtxt_item;
}



private JTextField getJtxt_nombre() {
if (jtxt_nombre == null) {
jtxt_nombre = new JTextField();
jtxt_nombre.setBounds(new java.awt.Rectangle(272,11,147,23));
jtxt_nombre.setEditable(false);

jtxt_nombre.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_nombre.setForeground(new java.awt.Color(102,102,102));
jtxt_nombre.setEnabled(true);
}
return jtxt_nombre;
}

private JTextField getJtxt_descripcion() {
if (jtxt_descripcion == null) {
jtxt_descripcion = new JTextField();
jtxt_descripcion.setBounds(new
java.awt.Rectangle(513,12,141,21));
jtxt_descripcion.setEditable(false);

jtxt_descripcion.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_descripcion.setForeground(new
java.awt.Color(102,102,102));
jtxt_descripcion.setEnabled(true);
}
return jtxt_descripcion;
}

private JTextField getJtxt_precio() {
if (jtxt_precio == null) {
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 9 -
jtxt_precio = new JTextField();
jtxt_precio.setBounds(new java.awt.Rectangle(67,35,122,21));
jtxt_precio.setEditable(false);

jtxt_precio.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_precio.setForeground(new java.awt.Color(102,102,102));
jtxt_precio.setEnabled(true);
}
return jtxt_precio;
}


private JTextField getJtxt_cantidad() {
if (jtxt_cantidad == null) {
jtxt_cantidad = new JTextField();
jtxt_cantidad.setBounds(new
java.awt.Rectangle(272,36,147,21));
jtxt_cantidad.setEditable(true);
jtxt_cantidad.setBackground(java.awt.Color.red);
jtxt_cantidad.setFont(new java.awt.Font("Dialog",
java.awt.Font.BOLD, 12));

jtxt_cantidad.setForeground(java.awt.SystemColor.controlLtHighlight);
jtxt_cantidad.setColumns(1);
jtxt_cantidad.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent e) {
try{
int tecla=e.getKeyChar();
if(tecla==KeyEvent.VK_ENTER){
double monto;
// Establecemos Ascii, para utilizar la
tecla Enter(10).
int enter=e.getKeyChar();

if(enter==10)
{
int fila;

for(fila=0;fila<modelo.getRowCount();fila++)
{
//validamos para que
no se agregue dos veces un mismo producto.

if(tabla.getRowCount()>0 &&
jtxt_nombre.getText().intern()==tabla.getValueAt(fila,1).toString().intern())
{

JOptionPane.showMessageDialog(null,"El producto "+ jtxt_nombre.getText() +"
ya ha sido agregado.","Alerta",JOptionPane.WARNING_MESSAGE);
limpiar();
return;
}
}
Object row[]=new Object[6];

Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 10 -
monto=Double.parseDouble(jtxt_precio.getText())*Double.parseDouble(jtxt_can
tidad.getText());
row[0]=jtxt_item.getText();

row[1]=jtxt_nombre.getText();

row[2]=jtxt_descripcion.getText();
row[3]=jtxt_precio.getText();

row[4]=jtxt_cantidad.getText();
row[5]=""+monto;
modelo.addRow(row);
//****************************
sumaTotal();
limpiar();

btn_nuevaFactura.setEnabled(true);

btn_eliminar.setEnabled(true);

btn_modificar.setEnabled(true);
}
return;
}
//validamos para que el maximo
//numero de caracteres que podamos
//ingresar sea uno.
if(jtxt_cantidad.getText().length()>0)
{
e.consume();
}
//validacion para solo ingresar numeros
if(!(tecla>=KeyEvent.VK_1 &&
tecla<=KeyEvent.VK_9))
{
e.consume();
return;
}
}
catch(Exception ex)
{

}
}
});
jtxt_cantidad.setEnabled(false);
}
return jtxt_cantidad;
}

public void sumaTotal(){
double umonto=0;
for(int ciclo=0;ciclo<tabla.getRowCount();ciclo++)
{

Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 11 -
umonto=umonto+Double.parseDouble(tabla.getValueAt(ciclo,5).toString());
}
DecimalFormat df=new DecimalFormat("0.00");
jtxt_subtotal.setText(df.format(umonto).replace(",","."));
jtxt_igv.setText(df.format(umonto*0.19).replace(",","."));
double total=umonto+(umonto*0.19);
jtxt_total.setText(df.format(total).replace(",","."));
}

public void limpiar()
{
jtxt_item.setText("");jtxt_nombre.setText("");jtxt_descripcion.setText("");
jtxt_precio.setText("");jtxt_cantidad.setText("");
jtxt_item.setEditable(false);jtxt_nombre.setEditable(false);
jtxt_descripcion.setEditable(false);jtxt_precio.setEditable(false);
jtxt_cantidad.setEnabled(false);
}

/**
* This method initializes jtxt_detalle
*
* @return javax.swing.JTextField
*/
private JTextField getJtxt_detalle() {
if (jtxt_detalle == null) {
jtxt_detalle = new JTextField();
jtxt_detalle.setBounds(new java.awt.Rectangle(155,343,670,19));
jtxt_detalle.setEditable(false);
jtxt_detalle.setText("Detalle de productos");
jtxt_detalle.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD,
12));
jtxt_detalle.setForeground(java.awt.SystemColor.controlLtHighlight);
jtxt_detalle.setBackground(java.awt.Color.gray);
}
return jtxt_detalle;
}

/**
* This method initializes Panelbotones
*
* @return javax.swing.JPanel
*/
private JPanel getPanelbotones() {
if (Panelbotones == null) {
Panelbotones = new JPanel();
Panelbotones.setLayout(null);
Panelbotones.setBounds(new java.awt.Rectangle(831,350,134,106));

Panelbotones.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.
SystemColor.activeCaptionBorder,1));
Panelbotones.setBackground(java.awt.SystemColor.scrollbar);
Panelbotones.add(getBtn_agregar(), null);
Panelbotones.add(getBtn_eliminar(), null);
Panelbotones.add(getBtn_modificar(), null);
}
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 12 -
return Panelbotones;
}

/**
* This method initializes btn_eliminar
*
* @return javax.swing.JButton
*/
private JButton getBtn_eliminar() {
if (btn_eliminar == null) {
btn_eliminar = new JButton();
btn_eliminar.setText("Eliminar");
btn_eliminar.setEnabled(false);
btn_eliminar.setBounds(new java.awt.Rectangle(5,38,123,26));
btn_eliminar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
QuitarProducto();
}
});
}
return btn_eliminar;
}


public void QuitarProducto(){
try
{
if(tabla.getRowCount()>0)
{
int indice=tabla.getSelectedRow();
if(indice==-1)
return;
modelo.removeRow(indice);
sumaTotal();
}
else
{
JOptionPane.showMessageDialog(null,"No hay ningn producto
en la factura","Eliminar",JOptionPane.WARNING_MESSAGE);

}
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null,ex.getMessage());
}
}
/**
* This method initializes btn_modificar
*
* @return javax.swing.JButton
*/
private JButton getBtn_modificar() {
if (btn_modificar == null) {
btn_modificar = new JButton();
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 13 -
btn_modificar.setText("Modificar");
btn_modificar.setEnabled(false);
btn_modificar.setBounds(new java.awt.Rectangle(5,66,123,26));
btn_modificar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
try
{
if(tabla.getRowCount()<1)
{
JOptionPane.showMessageDialog(null,"No
hay ningn producto en la
factura","Modificar",JOptionPane.INFORMATION_MESSAGE);
return;
}
String
modificar=JOptionPane.showInputDialog(tabla, "Ingrese
cantidad","Modificar",JOptionPane.INFORMATION_MESSAGE);
if(tabla.getRowCount()>0 && modificar.intern()!="")
{

tabla.setValueAt(modificar,tabla.getSelectedRow(),4);

//**************************************************
double u_monto;

u_monto=Double.parseDouble(tabla.getValueAt(tabla.getSelectedRow(),3).toSt
ring())*Double.parseDouble(tabla.getValueAt(tabla.getSelectedRow(),4).toString());

tabla.setValueAt(""+u_monto,tabla.getSelectedRow(),5);

//****************************************************
sumaTotal();
}
}
catch(Exception ex)
{
}
}
});
}
return btn_modificar;
}

/**
* This method initializes PanelFactura
*
* @return javax.swing.JPanel
*/
private JPanel getPanelFactura() {
if (PanelFactura == null) {
PanelFactura = new JPanel();
PanelFactura.setLayout(null);
PanelFactura.setLocation(new java.awt.Point(15,365));

PanelFactura.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 14 -
SystemColor.activeCaptionBorder,1));
PanelFactura.setSize(new java.awt.Dimension(134,106));
PanelFactura.setBackground(java.awt.SystemColor.scrollbar);
PanelFactura.add(getBtn_nuevaFactura(), null);
PanelFactura.add(getBtn_cancelar(), null);
PanelFactura.add(getBtn_reporte(), null);
}
return PanelFactura;
}
public void GeneraFac()
{
try
{
objconex.conexion();
objconex.st=objconex.cn.createStatement();
String sql="select count(numfac)from tbfactura";
String cad;
int numero;
objconex.rs=objconex.st.executeQuery(sql);
objconex.rs.next();
cad=objconex.rs.getString(1);
numero=Integer.parseInt(cad)+1;
lbl_numfac.setText("FAC0000"+numero);
objconex.rs.close();
objconex.st.close();
objconex.cn.close();
}
catch(Exception ex)
{
System.out.println("Error:"+ex.getMessage());
}
}


private JButton getBtn_nuevaFactura() {
if (btn_nuevaFactura == null) {
btn_nuevaFactura = new JButton();
btn_nuevaFactura.setText("Nueva Factura");
btn_nuevaFactura.setBounds(new java.awt.Rectangle(5,10,123,26));
btn_nuevaFactura.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
try{
if(btn_nuevaFactura.getText().intern()=="Nueva
Factura")
{
GeneraFac();

llamarProcedimientoAlmacenadoFechaServidor();
btn_nuevaFactura.setText("Grabar");
btn_cancelar.setEnabled(true);
btn_nuevaFactura.setEnabled(false);
btn_buscliente.setEnabled(true);
//*******************************************
}
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 15 -
else
{

if(JOptionPane.showConfirmDialog(null,"Realmente desea grabar esta
factura","Grabar",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION)
{
insertafactura();

//insertafactura(lbl_numfac.getText(),Double.parseDouble(jtxt_subtotal.getText()
),Double.parseDouble(jtxt_igv.getText()),Double.parseDouble(jtxt_total.getText()),lbl_fe
cha_sistema.getText());

JOptionPane.showMessageDialog(null,"El registro ha sido grabado
correctamente","Grabar",JOptionPane.INFORMATION_MESSAGE);
aftergrabar();
}
}
}catch(Exception ex){
System.out.print(ex.getMessage());
}
}
});
}
return btn_nuevaFactura;

}

public void insertafactura()
{
try
{
//INSERTAMOS CABECERA DE FACTURA
objconex.conexion();
String sql="insert into tbfactura
values('"+lbl_numfac.getText()+"','"+jtxt_subtotal.getText()+"','"+jtxt_igv.getText()+"','"+jt
xt_total.getText()+"','"+lbl_fecha_sistema.getText()+"')";
objconex.cmd=objconex.cn.prepareStatement(sql);
objconex.cmd.execute();
objconex.cmd.close();
objconex.cn.close();
//********************************************************************************
//INSERTAMOS DETALLE DE FACTURA
//item nombre descripcion precio cantidad monto
objconex.conexion();
String sqldetalle="";
int row;
for(row=0;row<tabla.getRowCount();row++)
{
sqldetalle="insert into tbdetfactura
values('"+lbl_numfac.getText()+"','"+tabla.getValueAt(row,0).toString()+"','"+tabla.getVa
lueAt(row,3).toString()+"','"+tabla.getValueAt(row,4).toString()+"')";
objconex.cmd=objconex.cn.prepareStatement(sqldetalle);
objconex.cmd.execute();
}

Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 16 -
}
catch(Exception ex)
{
System.out.print("Error:"+ex.getMessage());
}
}

private JButton getBtn_cancelar() {
if (btn_cancelar == null) {
btn_cancelar = new JButton();
btn_cancelar.setText("Cancelar");
btn_cancelar.setEnabled(false);
btn_cancelar.setBounds(new java.awt.Rectangle(5,38,123,26));
btn_cancelar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
try{

if(JOptionPane.showConfirmDialog(null,"Realmente desea cancelar las
acciones
realizadas","Cancelar",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION
)
{
limpiar();
limpiaNumfacFecha();
limpiarcliente();
inicio();
temporal();
btn_nuevaFactura.setText("Nueva
Factura");
btn_cancelar.setEnabled(false);
btn_nuevaFactura.setEnabled(true);
btn_buscliente.setEnabled(false);
btn_agregar.setEnabled(false);
btn_eliminar.setEnabled(false);
btn_modificar.setEnabled(false);

}
}catch(Exception ex){
System.out.print(ex.getMessage());
}
}
});
}
return btn_cancelar;
}

public void aftergrabar()
{
limpiar();
limpiaNumfacFecha();
limpiarcliente();
inicio();
temporal();
btn_nuevaFactura.setText("Nueva Factura");
btn_cancelar.setEnabled(false);
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 17 -
btn_nuevaFactura.setEnabled(true);
btn_buscliente.setEnabled(false);
btn_agregar.setEnabled(false);
btn_eliminar.setEnabled(false);
btn_modificar.setEnabled(false);
}

/**
* This method initializes PanelCliente
*
* @return javax.swing.JPanel
*/
private JPanel getPanelCliente() {
if (PanelCliente == null) {
lbl_email = new JLabel();
lbl_email.setHorizontalAlignment(SwingConstants.RIGHT);
lbl_email.setText("Email : ");
lbl_email.setLocation(new java.awt.Point(227,56));
lbl_email.setSize(new java.awt.Dimension(53,21));
lbl_email.setForeground(SystemColor.controlLtHighlight);
lbl_ruc = new JLabel();
lbl_ruc.setHorizontalAlignment(SwingConstants.RIGHT);
lbl_ruc.setText("Ruc : ");
lbl_ruc.setLocation(new java.awt.Point(36,56));
lbl_ruc.setSize(new java.awt.Dimension(52,21));
lbl_ruc.setForeground(SystemColor.controlLtHighlight);
lbl_telefono = new JLabel();
lbl_telefono.setHorizontalAlignment(SwingConstants.RIGHT);
lbl_telefono.setText("Telfono : ");
lbl_telefono.setLocation(new java.awt.Point(337,33));
lbl_telefono.setSize(new java.awt.Dimension(66,21));
lbl_telefono.setForeground(SystemColor.controlLtHighlight);
lbl_direccion = new JLabel();

lbl_direccion.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbl_direccion.setText("Direccin : ");
lbl_direccion.setLocation(new java.awt.Point(18,33));
lbl_direccion.setSize(new java.awt.Dimension(69,21));
lbl_direccion.setForeground(java.awt.SystemColor.controlLtHighlight);
lbl_cliente = new JLabel();
lbl_cliente.setForeground(java.awt.SystemColor.controlLtHighlight);
lbl_cliente.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbl_cliente.setLocation(new java.awt.Point(28,10));
lbl_cliente.setSize(new java.awt.Dimension(58,21));
lbl_cliente.setText("Cliente : ");
PanelCliente = new JPanel();
PanelCliente.setLayout(null);
PanelCliente.setBounds(new java.awt.Rectangle(155,182,670,86));
PanelCliente.setBackground(java.awt.SystemColor.scrollbar);

PanelCliente.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.S
ystemColor.activeCaptionBorder,1));
PanelCliente.add(lbl_cliente, null);
PanelCliente.add(getJtxt_cliente(), null);
PanelCliente.add(lbl_direccion, null);
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 18 -
PanelCliente.add(getJtxt_direccion(), null);
PanelCliente.add(lbl_telefono, null);
PanelCliente.add(getJtxt_telefono(), null);
PanelCliente.add(lbl_ruc, null);
PanelCliente.add(getJtxt_ruc(), null);
PanelCliente.add(lbl_email, null);
PanelCliente.add(getJtxt_email(), null);
PanelCliente.add(getBtn_buscliente(), null);
}
return PanelCliente;
}

/**
* This method initializes jtxt_cliente
*
* @return javax.swing.JTextField
*/
private JTextField getJtxt_cliente() {
if (jtxt_cliente == null) {
jtxt_cliente = new JTextField();
jtxt_cliente.setLocation(new java.awt.Point(89,10));
jtxt_cliente.setText("");
jtxt_cliente.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_cliente.setEditable(false);
jtxt_cliente.setSize(new java.awt.Dimension(440,21));
}
return jtxt_cliente;
}

/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJtxt_direccion() {
if (jtxt_direccion == null) {
jtxt_direccion = new JTextField();
jtxt_direccion.setText("");
jtxt_direccion.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_direccion.setEditable(false);
jtxt_direccion.setBounds(new java.awt.Rectangle(89,33,242,21));
}
return jtxt_direccion;
}

/**
* This method initializes jTextField1
*
* @return javax.swing.JTextField
*/
private JTextField getJtxt_telefono() {
if (jtxt_telefono == null) {
jtxt_telefono = new JTextField();
jtxt_telefono.setLocation(new java.awt.Point(406,33));
jtxt_telefono.setBackground(java.awt.SystemColor.controlHighlight);
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 19 -
jtxt_telefono.setEditable(false);
jtxt_telefono.setSize(new java.awt.Dimension(123,21));
}
return jtxt_telefono;
}

/**
* This method initializes jTextField2
*
* @return javax.swing.JTextField
*/
private JTextField getJtxt_ruc() {
if (jtxt_ruc == null) {
jtxt_ruc = new JTextField();
jtxt_ruc.setBounds(new java.awt.Rectangle(89,56,132,21));
jtxt_ruc.setEditable(false);
jtxt_ruc.setBackground(java.awt.SystemColor.controlHighlight);
}
return jtxt_ruc;
}

/**
* This method initializes jTextField3
*
* @return javax.swing.JTextField
*/
private JTextField getJtxt_email() {
if (jtxt_email == null) {
jtxt_email = new JTextField();
jtxt_email.setLocation(new java.awt.Point(283,57));
jtxt_email.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_email.setEditable(false);
jtxt_email.setText("");
jtxt_email.setSize(new java.awt.Dimension(246,21));
}
return jtxt_email;
}

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getBtn_buscliente() {
if (btn_buscliente == null) {
btn_buscliente = new JButton();
btn_buscliente.setText("Buscar Cliente");
btn_buscliente.setSize(new java.awt.Dimension(123,26));
btn_buscliente.setEnabled(false);
btn_buscliente.setLocation(new java.awt.Point(536,31));
btn_buscliente.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
try
{
JFactura _this = new JFactura();
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 20 -
BuscarCliente bc = new BuscarCliente();
bc.Valores="El otro formulario";
bc.Frame=_this;
bc.setVisible(true);
if(bc.tablaCliente.getRowCount()>0 &&
bc.jtxt_nomcliente.getText().intern()!="")
{

jtxt_cliente.setText(bc.tablaCliente.getValueAt(bc.tablaCliente.getSelectedRow(
),1).toString());

jtxt_direccion.setText(bc.tablaCliente.getValueAt(bc.tablaCliente.getSelectedRo
w(),2).toString());

jtxt_telefono.setText(bc.tablaCliente.getValueAt(bc.tablaCliente.getSelectedRo
w(),3).toString());

jtxt_ruc.setText(bc.tablaCliente.getValueAt(bc.tablaCliente.getSelectedRow(),4)
.toString());

jtxt_email.setText(bc.tablaCliente.getValueAt(bc.tablaCliente.getSelectedRow(),
5).toString());
btn_agregar.setEnabled(true);
}
else
{
limpiarcliente();
}
}
catch(Exception ex)
{

}
}
});
}
return btn_buscliente;
}

public void limpiarcliente()
{
jtxt_cliente.setText("");
jtxt_direccion.setText("");
jtxt_telefono.setText("");
jtxt_ruc.setText("");
jtxt_email.setText("");
}
/**
* This method initializes PanelNumFac
*
* @return javax.swing.JPanel
*/
private JPanel getPanelNumFac() {
if (PanelNumFac == null) {
lbl_numfac = new JLabel();
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 21 -
lbl_numfac.setText("FAC00000");
lbl_numfac.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
lbl_numfac.setBounds(new java.awt.Rectangle(133,63,71,24));
lbl_serie = new JLabel();
lbl_serie.setText("001 - ");
lbl_serie.setBounds(new java.awt.Rectangle(102,63,35,24));
lbl_factura = new JLabel();
lbl_factura.setBounds(new java.awt.Rectangle(37,45,219,26));

lbl_factura.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lbl_factura.setText("FACTURA");
PanelNumFac = new JPanel();
PanelNumFac.setLayout(null);
PanelNumFac.setBounds(new java.awt.Rectangle(579,37,291,134));
PanelNumFac.setBackground(java.awt.SystemColor.scrollbar);

PanelNumFac.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.
SystemColor.activeCaptionBorder,1));
PanelNumFac.add(lbl_factura, null);
PanelNumFac.add(lbl_serie, null);
PanelNumFac.add(lbl_numfac, null);
}
return PanelNumFac;
}

/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.setBounds(new java.awt.Rectangle(96,37,477,133));

jPanel.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.System
Color.activeCaptionBorder,1));
jPanel.setBackground(java.awt.SystemColor.scrollbar);
}
return jPanel;
}

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getBtn_reporte() {
if (btn_reporte == null) {
btn_reporte = new JButton();
btn_reporte.setText("Reporte");
btn_reporte.setEnabled(false);
btn_reporte.setBounds(new java.awt.Rectangle(5,66,123,26));
}
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 22 -
return btn_reporte;
}

/**
* This method initializes PanelFecha
*
* @return javax.swing.JPanel
*/
private JPanel getPanelFecha() {
if (PanelFecha == null) {
lbl_fecha_sistema = new JLabel();
lbl_fecha_sistema.setBounds(new java.awt.Rectangle(188,4,143,17));
lbl_fecha_sistema.setText("");
jLabel1 = new JLabel();
jLabel1.setBounds(new java.awt.Rectangle(37,4,154,16));
jLabel1.setText("Fecha y Hora del sistema : ");
PanelFecha = new JPanel();
PanelFecha.setLayout(null);
PanelFecha.setLocation(new java.awt.Point(-1,656));
PanelFecha.setBackground(java.awt.SystemColor.controlShadow);
PanelFecha.setSize(new java.awt.Dimension(985,26));
PanelFecha.add(jLabel1, null);
PanelFecha.add(lbl_fecha_sistema, null);
}
return PanelFecha;
}

/**
* This method initializes fecha
*
* @return javax.swing.JButton
*/

} // @jve:decl-index=0:visual-constraint="10,-11"


package moduloCliente;

import javax.swing.JFrame;
import javax.swing.JPanel;
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 23 -
import javax.swing.JDialog;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.BorderFactory;
import java.awt.SystemColor;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.JOptionPane;

import moduloData.Classconexion;

public class BuscarCliente extends JDialog {

Classconexion objsql = new Classconexion();

public String Valores;
public void setValores(String xValores)
{
Valores=xValores;
}

public String getValores()
{
return Valores;
}
//***********************************
public JFrame Frame;
public void setFrame(JFrame xFrame)
{
Frame=xFrame;
}

public JFrame getFrame()
{
return Frame;
}
//***********************************
//***********************************
//***********************************
//***********************************

private static final long serialVersionUID = 1L;
public JPanel jContentPane = null;
public JPanel jPanel = null;
public JTextField jtxt_nomcliente = null;
public JLabel lbl_cliente = null;
public JTextField jtxt_cliente = null;
public JScrollPane ScrollPane = null;
public JTable tablaCliente = null;

DefaultTableModel modeloTablaInicio;
DefaultTableModel modeloSql;


Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 24 -

public void temporalinicio()
{
try
{
String header[]=
{"Item","Nombre","Direccin","Telfono","Ruc","Email"};
modeloTablaInicio=new DefaultTableModel(header,0);
tablaCliente.setModel(modeloTablaInicio);
}catch(Exception ex){
JOptionPane.showMessageDialog(null,ex.getMessage());
}
}

public void consultasql(){
try
{
objsql.conexion();
objsql.st=objsql.cn.createStatement();
objsql.rs=objsql.st.executeQuery("select
item,nombres,direccion,telefono,ruc,email from tbclientes where nombres LIKE
'"+this.jtxt_nomcliente.getText()+"%"+"'");
objsql.rs.next();
String
col[]={"Item","Nombre","Direccin","Telfono","Ruc","Email"};
modeloSql=new DefaultTableModel(col,0);
Object row[]=new Object[6];
if(objsql.rs.getRow()>0 && jtxt_nomcliente.getText().intern()!="")
{
row[0]=objsql.rs.getString("item");
row[1]=objsql.rs.getString("nombres");
row[2]=objsql.rs.getString("direccion");
row[3]=objsql.rs.getString("telefono");
row[4]=objsql.rs.getString("ruc");
row[5]=objsql.rs.getString("email");
modeloSql.addRow(row);
tablaCliente.setModel(modeloSql);
}
else
{
String
col_empty[]={"Item","Nombre","Direccin","Telfono","Ruc","Email"};
modeloSql=new DefaultTableModel(col_empty,0);
tablaCliente.setModel(modeloSql);
}

}
catch(Exception ex)
{
}
}


public void centrarVentana()
{
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 25 -
this.setLocationRelativeTo(null);
}





public BuscarCliente() {
super();
initialize();
temporalinicio();
centrarVentana();
}

private void initialize() {
this.setSize(723, 338);
this.setResizable(false);
this.setModal(true);
this.setTitle("Bsqueda de Cliente");
this.setContentPane(getJContentPane());
}


private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.setBackground(java.awt.SystemColor.scrollbar);
jContentPane.add(getJPanel(), null);
jContentPane.add(getJtxt_cliente(), null);
jContentPane.add(getScrollPane(), null);
}
return jContentPane;
}

private JPanel getJPanel() {
if (jPanel == null) {
lbl_cliente = new JLabel();
lbl_cliente.setBounds(new java.awt.Rectangle(23,12,180,25));
lbl_cliente.setText("Ingrese nombre del cliente : ");

lbl_cliente.setForeground(java.awt.SystemColor.controlLtHighlight);
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.setBackground(java.awt.SystemColor.scrollbar);

jPanel.setBorder(BorderFactory.createLineBorder(SystemColor.controlShadow,
1));
jPanel.setBounds(new java.awt.Rectangle(120,33,469,44));
jPanel.add(getJtxt_nomcliente(), null);
jPanel.add(lbl_cliente, null);
}
return jPanel;
}

Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 26 -
private JTextField getJtxt_nomcliente() {
if (jtxt_nomcliente == null) {
jtxt_nomcliente = new JTextField();
jtxt_nomcliente.setBounds(new
java.awt.Rectangle(203,15,246,21));
jtxt_nomcliente.setForeground(new
java.awt.Color(102,102,102));
jtxt_nomcliente.setText("");

jtxt_nomcliente.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_nomcliente.addCaretListener(new
javax.swing.event.CaretListener() {
public void caretUpdate(javax.swing.event.CaretEvent e) {
consultasql();
}
});
}
return jtxt_nomcliente;
}


private JTextField getJtxt_cliente() {
if (jtxt_cliente == null) {
jtxt_cliente = new JTextField();
jtxt_cliente.setBounds(new java.awt.Rectangle(62,79,595,20));
jtxt_cliente.setFont(new java.awt.Font("Dialog",
java.awt.Font.BOLD, 12));

jtxt_cliente.setForeground(java.awt.SystemColor.controlLtHighlight);
jtxt_cliente.setText("Cliente");
jtxt_cliente.setEditable(false);
jtxt_cliente.setBackground(java.awt.Color.gray);
}
return jtxt_cliente;
}


private JScrollPane getScrollPane() {
if (ScrollPane == null) {
ScrollPane = new JScrollPane();
ScrollPane.setBounds(new java.awt.Rectangle(62,98,595,164));

ScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTA
L_SCROLLBAR_AS_NEEDED);
ScrollPane.setViewportView(getTablaCliente());

ScrollPane.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SC
ROLLBAR_AS_NEEDED);
}
return ScrollPane;
}


private JTable getTablaCliente() {
if (tablaCliente == null) {
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 27 -
tablaCliente = new JTable();
tablaCliente.setForeground(new java.awt.Color(102,102,102));
tablaCliente.setShowGrid(true);

tablaCliente.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELE
CTION);

tablaCliente.setBackground(java.awt.SystemColor.controlHighlight);
}
return tablaCliente;
}
}


package moduloCliente;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import moduloData.Classconexion;

public class AgregarProductos extends JDialog {
//*********************************************************************************
//*********************************************************************************
//*********************************************************************************
//*********************************************************************************
//*********************************************************************************
//*********************************************************************************
public String Valores;
public void setValores(String xValores)
{
Valores=xValores;
}
public String getValores()
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 28 -
{
return Valores;
}
//*********************************************************************************
public JFrame Frame;
public void setFrame(JFrame xFrame)
{
Frame=xFrame;
}
public JFrame getFrame()
{
return Frame;
}





//*********************************************************************************
//*********************************************************************************
//*********************************************************************************
//*********************************************************************************
//*********************************************************************************
//*********************************************************************************
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JScrollPane ScrollPane = null;
public JTable tabla = null;
//********************************************
DefaultTableModel modelo;//contenido cuando realizemos la consulta a la base
de datos
DefaultTableModel modelovacio;//contenido vacio cuando cargue el grid, o
cuando no encuentre el dato a buscar.
//********************************************
//instancio una variable "objconexion", para usar precisamente la conexion.
Classconexion objconexion = new Classconexion();
private JPanel Panelbusqueda = null;
public JTextField jtxt_nombreprod = null;
private JLabel lbl_nombre = null;
private JTextField jTextField = null;
public void consultatabla(){
try{
//llamamos a la conexion
objconexion.conexion();
//********************************************
//creamos una instancia para nuestra conexion
objconexion.st=objconexion.cn.createStatement();
//realizamos una consulta a la tabla
//filtrando la busqueda con las iniciales
//del producto que escribamos en el JTextBox
objconexion.rs=objconexion.st.executeQuery("select
item,nombre,descripcion,precioventa,stock from tbproductos where nombre LIKE
'"+this.jtxt_nombreprod.getText()+"%"+"'");
//para recorrer los registros
objconexion.rs.next();
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 29 -
//********************************************
//establecemos las cabeceras de las columnas de nuestro grid
String columnas[] =
{"Item","Nombre","Descripcin","Precio","Stock"};
modelo=new DefaultTableModel(columnas,0);
//********************************************
//instanciamos un Object->ARRAY de nombre "fila",
//que cargar los registros correspondientes para
//nuestras columnas que tenemos en la grilla,
//en este caso 5
Object fila[]=new Object[5];
//preguntamos:
//si se ejecuta la consulta a la tabla correctamente y
//el JTextBox No est vaca, entonces...
if(objconexion.rs.getRow()>0 &&
jtxt_nombreprod.getText().intern()!="")
{
//... se cargar nuestra grilla con los registros de nuestra
tabla.
fila[0]=objconexion.rs.getString("item");
fila[1]=objconexion.rs.getString("nombre");
fila[2]=objconexion.rs.getString("descripcion");
fila[3]=objconexion.rs.getString("precioventa");
fila[4]=objconexion.rs.getString("stock");
modelo.addRow(fila);
tabla.setModel(modelo);
}
else
{
//sino se ejecuta la consulta correctamente, entonces la
grilla se queda
//vacia, a travs de un nuevo contenido denominado
"modelovacio".
String col_vacias[] =
{"Item","Nombre","Descripcin","Precio","Stock"};
modelovacio=new DefaultTableModel(col_vacias,0);
tabla.setModel(modelovacio);
}
}
catch(Exception ex)
{
System.out.print(ex.getMessage());
}
}
//*****************************************************************************************
***********
//*****************************************************************************************
***********
//*****************************************************************************************
***********
//creamos un procedimiento denominado "temporal", para que cargue la grilla
vaca.
public void
temporal(){//*****************************************************************************
String col_vacias[] =
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 30 -
{"Item","Nombre","Descripcin","Precio","Stock"};//*************************
modelovacio=new
DefaultTableModel(col_vacias,0);//************************************************

tabla.setModel(modelovacio);//********************************************************
************
}//****************************************************************************************
***********
//*****************************************************************************************
***********
//*****************************************************************************************
***********
public AgregarProductos() {
super();
initialize();
centrarVentana();
//****************************************
//****************************************
temporal();//llamamos al procedimiento "temporal" en nuestro
constructor.
//****************************************
//****************************************
}

public void centrarVentana()
{
this.setLocationRelativeTo(null);
}

private void initialize() {
this.setSize(723, 338);

this.setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOS
E);
this.setModal(true);
this.setResizable(false);
this.setTitle("Agregar productos");
this.setContentPane(getJContentPane());
}

private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.setBackground(java.awt.SystemColor.scrollbar);
jContentPane.add(getScrollPane(), null);
jContentPane.add(getPanelbusqueda(), null);
jContentPane.add(getJTextField(), null);
}
return jContentPane;
}


private JScrollPane getScrollPane() {
if (ScrollPane == null) {
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 31 -
ScrollPane = new JScrollPane();
ScrollPane.setBounds(new java.awt.Rectangle(62,98,595,164));
ScrollPane.setViewportView(getTabla());
}
return ScrollPane;
}


private JTable getTabla() {
if (tabla == null) {
tabla = new JTable();
tabla.setForeground(new java.awt.Color(102,102,102));
tabla.setBackground(java.awt.SystemColor.controlHighlight);
}
return tabla;
}

private JPanel getPanelbusqueda() {
if (Panelbusqueda == null) {
lbl_nombre = new JLabel();
lbl_nombre.setBounds(new java.awt.Rectangle(23,12,180,25));

lbl_nombre.setForeground(java.awt.SystemColor.controlLtHighlight);
lbl_nombre.setText("Ingrese nombre del producto : ");
Panelbusqueda = new JPanel();
Panelbusqueda.setLayout(null);
Panelbusqueda.setBounds(new
java.awt.Rectangle(120,33,469,44));

Panelbusqueda.setBorder(javax.swing.BorderFactory.createLineBorder(java.aw
t.SystemColor.controlShadow,1));
Panelbusqueda.setBackground(java.awt.SystemColor.scrollbar);
Panelbusqueda.add(getJtxt_nombreprod(), null);
Panelbusqueda.add(lbl_nombre, null);
}
return Panelbusqueda;
}

private JTextField getJtxt_nombreprod() {
if (jtxt_nombreprod == null) {
jtxt_nombreprod = new JTextField();
jtxt_nombreprod.setBounds(new
java.awt.Rectangle(203,15,246,21));
jtxt_nombreprod.setForeground(new
java.awt.Color(102,102,102));
jtxt_nombreprod.setText("");

jtxt_nombreprod.setBackground(java.awt.SystemColor.controlHighlight);
jtxt_nombreprod.addCaretListener(new
javax.swing.event.CaretListener() {
//ste es un evento como Text_Change de .Net
public void caretUpdate(javax.swing.event.CaretEvent e) {
consultatabla();
}
});
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 32 -
}
return jtxt_nombreprod;
}
/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setFont(new java.awt.Font("Dialog",
java.awt.Font.BOLD, 12));
jTextField.setText("Producto");
jTextField.setEditable(false);

jTextField.setForeground(java.awt.SystemColor.controlLtHighlight);
jTextField.setLocation(new java.awt.Point(62,79));
jTextField.setSize(new java.awt.Dimension(595,20));
jTextField.setBackground(java.awt.Color.gray);
}
return jTextField;
}
} // @jve:decl-index=0:visual-constraint="10,10"



package moduloData;
import java.sql.*;//importo la clase .sql, para trabajar con base de datos.
public class Classconexion {
//declarando variables publicas para poder usarlas
//en nuestro formulario de factura.
public Connection cn;//conexion
public ResultSet rs;//tipo recordset
public Statement st;//para establecer consultas
public CallableStatement cstmt;
public PreparedStatement cmd;

public void conexion()
{
try{
//llamo al driver para conectar java con MySQL
Class.forName("com.mysql.jdbc.Driver");
//establesco la conexion con sus respecticos parametros

cn=DriverManager.getConnection("jdbc:mysql://localhost/bdfacturacion","root","
mysql");
}
catch(Exception ex){
//en caso de errores
System.out.print("Error:"+ex.getMessage());
}
}
}

Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 33 -


CREATE DATABASE bdfacturacion;

USE bdfacturacion;

CREATE TABLE tbclientes (
item varchar(20) NOT NULL,
nombres varchar(200) NOT NULL,
direccion varchar(100) NOT NULL,
telefono char(10) NOT NULL,
ruc varchar(15) NOT NULL,
email varchar(50) default NULL,
PRIMARY KEY (item)
);


CREATE TABLE tbfactura (
numfac varchar(20) NOT NULL,
subtotal decimal(8,2) NOT NULL,
igv decimal(8,2) NOT NULL,
total decimal(8,2) NOT NULL,
fecha datetime NOT NULL,
PRIMARY KEY (numfac)
);


CREATE TABLE tbdetfactura (
numfac varchar(20) NOT NULL,
itemprod varchar(20) NOT NULL,
precioprod decimal(8,2) NOT NULL,
cantprod int(11) NOT NULL
);

CREATE TABLE tbproductos (
item varchar(20) NOT NULL,
nombre char(50) NOT NULL,
descripcion char(50) NOT NULL,
preciocompra decimal(8,2) NOT NULL,
precioventa decimal(8,2) NOT NULL,
stock int(11) NOT NULL,
stockminimo int(11) NOT NULL,
PRIMARY KEY (item)
);

INSERT INTO tbproductos (item, nombre, descripcion, preciocompra, precioventa,
stock, stockminimo) VALUES
('PR00001','Inka Kola','Gaseosa botella plast. 3 lt','3.8','4.3',500,5);
INSERT INTO tbproductos (item, nombre, descripcion, preciocompra, precioventa,
stock, stockminimo) VALUES
('PR00002','Sporade','Rehidratante 400 ml','1.2','1.5',400,5);
INSERT INTO tbproductos (item, nombre, descripcion, preciocompra, precioventa,
stock, stockminimo) VALUES
('PR00003','Maltin Power','Energizante de malta 280 ml','0.8','1',800,5);
INSERT INTO tbproductos (item, nombre, descripcion, preciocompra, precioventa,
Jos Jess Balmaceda Tec. Computacin e Informtica Pgina - 34 -
stock, stockminimo) VALUES
('PR00004','San Luis','Agua mineral 500 ml','1','1.5',250,5);
INSERT INTO tbproductos (item, nombre, descripcion, preciocompra, precioventa,
stock, stockminimo) VALUES
('PR00005','Gatorade','Bebida Rehidrat. 400 ml','2','2.4',400,5);


delimiter//
create procedure fecha(OUT parametro datetime)
begin
declare variable datetime;
set variable=now();
set parametro=variable;
select parametro;
end;
//

También podría gustarte