Está en la página 1de 8

package formulario;

//LIBRERIAS NECESARIAS
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Form1 implements ActionListener {

//MATRIZ DE LA GRILLA Y LOS PRODUCTOS PREDEFINIDA


String[][] productos = {{"1010", "2x2", "26000"}, {"2020", "3x3", "29000"}, {"3030", "4x4", "38000"}, {"4040", "5x5", "48000"}, {"5050", "6x6", "70000"},
{"6060", "7x7", "85000"}, {"7070", "Megaminx", "46000"}, {"8080", "Mirror", "32000"}, {"9090", "Pyraminx", "40000"}, {"0000", "Skewb",
"40000"}};//MATRIZ PREDEFINIDA DE LOS PRODUCTOS
String[][] datos = new String[10][5];//MATRIZ QUE MANEJARA LA GRILLA
String[][] aux = new String[10][5];//MATRIZ QUE GUARDARA LOS DATOS DE LA GRILLA PARA ACTUALIZARLA

//CREANDO LA GRILLA, ASIGNANDOLE EL TAMAÑO A LOS CAMPOS, LAS CABEZERAS, INSTANCIANDO LA OPCION SCROLL Y LA JTABLE CON LOS DATOS Y
TITULOS
String[] titulo = {"Código", "Descripción", "Valor Unitario", "Cantidad", "Precio total"}; //CABECERA DE LA GRILLA
JScrollPane scroll = new JScrollPane(); //LA PROPIEDAD DE PODER BAJAR O SUBIR LAS TABLAS DE LA GRILLA
JTable tabla = new JTable(datos, titulo); //INSTANCIANDO LA JTABLE CON LA CABECERA Y LA MATRIZ DE DATOS
Dimension d = new Dimension(); //INSTANCIANDO EL TAMAÑO DE LA PANTALLA

//CREANDO EL COMBOBOX Y AÑADIENDO SUS RESPECTIVOS DATOS


String[] pago = {" ", "Efectivo", "Cheque", "Credito"};
JComboBox combo = new JComboBox(pago);
String com = (String) combo.getSelectedItem();

//VARIABLES NECESARIAS PARA LA INTERFAZ DEL FORMULARIO


JButton btB, btC, btA, btS; //ESTOS SON LOS BOTONES
JLabel jlFOTO, jlT, jlD, jlN, jlF, jlSC, jlCC, jlNC, jlTC, jlDC, jlFP, jlFdP, jlST, jlDE, jlI, jlGT;//ESTAS SON LAS ETIQUETAS
JTextField jt1, jt2, jt3, jt4, jt5, jt6, jt7, jt8, jt9, jt10;//ESTAS SON LAS CAJAS DE TEXTO

//INSTANCIAMOS EL FORMULARIO, CREANDOLO PARA PODER AÑADIR LOS OBJETOS


JFrame jf = new JFrame("Factura de Venta");

//CLASE LA CUAL CREARA EL FORMULARIO


public Form1() {
//ELIMINAMOS EL LAYOUT
jf.setLayout(null);

//ASIGNANDO LOS DATOS QUE MOSTRARAN LAS ETIQUETAS(JLABEL)


jlFOTO = new JLabel(""); //ETIQUETA DE FOTO VACIA PARA PODER AGREGAR UNA IMAGEN DESPUES
jlT = new JLabel("SISTEMAS DEL FUTURO");
jlD = new JLabel("Calle 76 1A13-18");
jlN = new JLabel("3178773412");
jlF = new JLabel("Factura Nro.");
jlSC = new JLabel("Santiago de Cali");
jlCC = new JLabel("Cédula de Ciudadanía:");
jlNC = new JLabel("Nombre del Cliente:");
jlDC = new JLabel("Teléfono del Cliente:");
jlFP = new JLabel("Dirección del Cliente:");
jlFdP = new JLabel("Forma de pago:");
jlST = new JLabel("Sub Total:");
jlDE = new JLabel("Descuento:");
jlI = new JLabel("Iva:");
jlGT = new JLabel("Gran Total:");

//ASIGNANDO El ANCHO DE LOS CUADROS DE TEXTO EL CUAL SE MODIFICARA LUEGO GRACIAS AL SETBOUNDS
jt1 = new JTextField();
jt2 = new JTextField();
jt3 = new JTextField();
jt4 = new JTextField();
jt5 = new JTextField();
jt6 = new JTextField();
jt7 = new JTextField();
jt8 = new JTextField();
jt9 = new JTextField();
jt10 = new JTextField();

//PONIENDO UN NOMBRE SOBRE LOS BOTONES


btB = new JButton("Buscar");
btC = new JButton("Buscar Codigo");
btA = new JButton("Aceptar");
btS = new JButton("Salir");

//ELIGIENDO LA POSICION DE LAS ETIQUETAS, SU ANCHO Y ALTO


// ( x, y,ancho,alto)
jlFOTO.setBounds(10, 10, 100, 100);
jlT.setBounds(200, 10, 140, 10);
jlD.setBounds(200, 30, 140, 10);
jlN.setBounds(400, 30, 140, 10);
jlF.setBounds(540, 35, 90, 20);
jlSC.setBounds(305, 50, 140, 20);
jlCC.setBounds(10, 130, 140, 20);
jlNC.setBounds(10, 170, 140, 20);
jlDC.setBounds(10, 210, 140, 20);
jlFP.setBounds(10, 250, 140, 20);
jlFdP.setBounds(300, 250, 140, 20);
jlST.setBounds(430, 500, 140, 20);
jlDE.setBounds(430, 530, 140, 20);
jlI.setBounds(430, 560, 140, 20);
jlGT.setBounds(430, 590, 140, 20);

//ELIGIENDO LA POSICION DE LOS CUADROS DE TEXTO, SU ANCHO Y ALTO


// ( x, y,ancho,alto)
jt1.setBounds(550, 10, 90, 20);
jt2.setBounds(150, 132, 100, 20);
jt3.setBounds(150, 172, 140, 20);
jt4.setBounds(150, 212, 140, 20);
jt5.setBounds(150, 252, 140, 20);
jt6.setBounds(10, 300, 70, 20);
jt7.setBounds(540, 500, 140, 20);
jt8.setBounds(540, 530, 140, 20);
jt9.setBounds(540, 560, 140, 20);
jt10.setBounds(540, 590, 140, 20);

//ELIGIENDO LA POSICION DE LOS BOTONES,SU ANCHO Y ALTO


// ( x, y,ancho,alto)
btB.setBounds(260, 132, 80, 20);
btC.setBounds(90, 300, 130, 20);
btA.setBounds(570, 630, 85, 20);
btS.setBounds(490, 630, 70, 20);

//'Otra forma de crear el JCombobox'


// JComboBox combo = new JComboBox();
// combo.addItem("null");
// combo.addItem("Efectivo");
// combo.addItem("Credito");
// combo.addItem("Cheque");
// combo.setBounds(400, 250, 90, 20);
//ELIGIENDO LA POSICION DEL COMBOBOX, SU ANCHO Y ALTO
// ( x, y,ancho,alto)
combo.setBounds(400, 250, 90, 20);

//AÑADIENDO LA OPCION DE QUE LAS CABEZERAS SEAN ESTATICAS


scroll.setViewportView(tabla);

//ELIGIENDO LA POSICION DE LA GRILLA(JTABLE), SU ANCHO Y ALTO


// ( x, y,ancho,alto)
scroll.setBounds(10, 330, 685, 150);
//AÑADIENDO TODA LA GRILLA AL FORMULARIO
jf.add(scroll);

//PINTANDO LOS BORDES DE LA ETIQUETA FOTO DE COLOR NEGRO


jlFOTO.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1, true));

//AÑADIENDO LAS ETIQUETAS AL FORMULARIO


jf.add(jlFOTO);
jf.add(jlT);
jf.add(jlD);
jf.add(jlN);
jf.add(jlF);
jf.add(jlSC);
jf.add(jlCC);
jf.add(jlNC);
jf.add(jlDC);
jf.add(jlFP);
jf.add(jlFdP);
jf.add(jlST);
jf.add(jlDE);
jf.add(jlI);
jf.add(jlGT);

//AÑADIENDO LOS CUADROS DE TEXTO AL FORMULARIO


jf.add(jt1);
jf.add(jt2);
jf.add(jt3);
jf.add(jt4);
jf.add(jt5);
jf.add(jt6);
jf.add(jt7);
jf.add(jt8);
jf.add(jt9);
jf.add(jt10);

//AÑADIENDO LOS BOTONES AL FORMULARIO


jf.add(btB);
jf.add(btC);
jf.add(btA);
jf.add(btS);

//AÑADIENDO EL COMBOBOX AL FORMULARIO


jf.add(combo);

//AÑADIENDO EL LISTENER AL BOTON PARA QUE FUNCIONEN CON CLICK


btB.addActionListener(this);
btC.addActionListener(this);
btA.addActionListener(this);
btS.addActionListener(this);
combo.addActionListener(this);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //LA OPCION DE CERRAR EL FOMULARIO CON LA X


jf.setResizable(false);//IMPIDE QUE EL USUARIO MODIFIQUE MANUALMENTE EL TAMAÑO DEL FORMULARIO
jf.setLocation((int) ((d.getWidth() / 2) + 290), 10);
jf.pack(); //SELECCIONA EL TAMAÑO NECESARIO DE LA PANTALLA PARA QUE SE VEA TODO
jf.setSize(720, 720); //TAMAÑO DE LA VENTANA
}

public static void main(String[] args) {


Form1 frame = new Form1(); //INSTANCIANDO LA CLASE
ope op = new ope();
ActionEvent e = null;
op.actionPerformed(e);
}

@Override
public void actionPerformed(ActionEvent e) { //SE SOBREESCRIBE EL METODO DEL LISTENER
}
}
//**************************************************************************//

package formulario;

import java.awt.Image;
import java.awt.event.ActionEvent;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

public class ope extends Form1 {

@Override
public void actionPerformed(ActionEvent e) { //SE SOBREESCRIBE EL METODO DEL LISTENER
jf.setVisible(true); //COMANDO QUE PERMITE MOSTRAR EL FORMULARIO
//VARIABLES CON LAS CUALES GUARDAREMOS LOS DATOS DE LOS JTEXTFIELD PARA PODER HACER COMPARACIONES
String cedula = jt2.getText(), cod = jt6.getText();

//CONDICIONAL QUE EJECUTA EL BOTON BUSCAR


if (e.getSource() == btB) {
//DATOS DE UN USUARIO PREDEFINIDO
if ("1005933711".equals(cedula)) {
jt3.setText("Michael Morantes");
jt4.setText("3105124768");
jt5.setText("Calle 2a oeste #66-87");
//ERROR SI EL USUARIO NO ESTA EN EL SISTEMA
} else {
JOptionPane.showMessageDialog(null, "El usuario no se encuentra");
}
}

//CONDICIONAL QUE EJECUTA EL BOTON BUSCAR CODIGO


if (e.getSource() == btC) {

//CONDICIONALES QUE SI SE CUMPLEN MOSTRARAN LA DESCRIPCION Y EL VALOR UNITARIO DE DICHO PRODUCTO


if ("1010".equals(cod)) {
ImageIcon foto = new ImageIcon(getClass().getResource("/ImagenesF/2x2.jpg"));
ImageIcon mitad = new ImageIcon(foto.getImage().getScaledInstance(jlFOTO.getWidth(), jlFOTO.getHeight(), Image.SCALE_DEFAULT));
jlFOTO.setIcon(mitad);
for (int i = 0; i < 1; i++) {
for (int j = 0; j <= 2; j++) {
datos[i][j] = productos[i][j];
}
}
//CONDICIONALES QUE SI SE CUMPLEN MOSTRARAN LA DESCRIPCION Y EL VALOR UNITARIO DE DICHO PRODUCTO
} else if ("2020".equals(cod)) {
ImageIcon foto = new ImageIcon(getClass().getResource("/ImagenesF/3x3.jpg"));
ImageIcon mitad = new ImageIcon(foto.getImage().getScaledInstance(jlFOTO.getWidth(), jlFOTO.getHeight(), Image.SCALE_DEFAULT));
jlFOTO.setIcon(mitad);
for (int i = 1; i < 2; i++) {
for (int j = 0; j <= 2; j++) {
datos[i][j] = productos[i][j];
}
}
//CONDICIONALES QUE SI SE CUMPLEN MOSTRARAN LA DESCRIPCION Y EL VALOR UNITARIO DE DICHO PRODUCTO
} else if ("3030".equals(cod)) {
ImageIcon foto = new ImageIcon(getClass().getResource("/ImagenesF/4x4.jpg"));
ImageIcon mitad = new ImageIcon(foto.getImage().getScaledInstance(jlFOTO.getWidth(), jlFOTO.getHeight(), Image.SCALE_DEFAULT));
jlFOTO.setIcon(mitad);
for (int i = 2; i < 3; i++) {
for (int j = 0; j <= 2; j++) {
datos[i][j] = productos[i][j];
}
}
//CONDICIONALES QUE SI SE CUMPLEN MOSTRARAN LA DESCRIPCION Y EL VALOR UNITARIO DE DICHO PRODUCTO
} else if ("4040".equals(cod)) {
ImageIcon foto = new ImageIcon(getClass().getResource("/ImagenesF/5x5.jpg"));
ImageIcon mitad = new ImageIcon(foto.getImage().getScaledInstance(jlFOTO.getWidth(), jlFOTO.getHeight(), Image.SCALE_DEFAULT));
jlFOTO.setIcon(mitad);
for (int i = 3; i < 4; i++) {
for (int j = 0; j <= 2; j++) {
datos[i][j] = productos[i][j];
}
}
//CONDICIONALES QUE SI SE CUMPLEN MOSTRARAN LA DESCRIPCION Y EL VALOR UNITARIO DE DICHO PRODUCTO
} else if ("5050".equals(cod)) {
ImageIcon foto = new ImageIcon(getClass().getResource("/ImagenesF/6x6.jpg"));
ImageIcon mitad = new ImageIcon(foto.getImage().getScaledInstance(jlFOTO.getWidth(), jlFOTO.getHeight(), Image.SCALE_DEFAULT));
jlFOTO.setIcon(mitad);
for (int i = 4; i < 5; i++) {
for (int j = 0; j <= 2; j++) {
datos[i][j] = productos[i][j];
}
}
//CONDICIONALES QUE SI SE CUMPLEN MOSTRARAN LA DESCRIPCION Y EL VALOR UNITARIO DE DICHO PRODUCTO
} else if ("6060".equals(cod)) {
ImageIcon foto = new ImageIcon(getClass().getResource("/ImagenesF/7x7.jpg"));
ImageIcon mitad = new ImageIcon(foto.getImage().getScaledInstance(jlFOTO.getWidth(), jlFOTO.getHeight(), Image.SCALE_DEFAULT));
jlFOTO.setIcon(mitad);
for (int i = 5; i < 6; i++) {
for (int j = 0; j <= 2; j++) {
datos[i][j] = productos[i][j];
}
}
//CONDICIONALES QUE SI SE CUMPLEN MOSTRARAN LA DESCRIPCION Y EL VALOR UNITARIO DE DICHO PRODUCTO
} else if ("7070".equals(cod)) {
ImageIcon foto = new ImageIcon(getClass().getResource("/ImagenesF/megaminx.jpg"));
ImageIcon mitad = new ImageIcon(foto.getImage().getScaledInstance(jlFOTO.getWidth(), jlFOTO.getHeight(), Image.SCALE_DEFAULT));
jlFOTO.setIcon(mitad);
for (int i = 6; i < 7; i++) {
for (int j = 0; j <= 2; j++) {
datos[i][j] = productos[i][j];
}
}
//CONDICIONALES QUE SI SE CUMPLEN MOSTRARAN LA DESCRIPCION Y EL VALOR UNITARIO DE DICHO PRODUCTO
} else if ("8080".equals(cod)) {
ImageIcon foto = new ImageIcon(getClass().getResource("/ImagenesF/mirror.jpg"));
ImageIcon mitad = new ImageIcon(foto.getImage().getScaledInstance(jlFOTO.getWidth(), jlFOTO.getHeight(), Image.SCALE_DEFAULT));
jlFOTO.setIcon(mitad);
for (int i = 7; i < 8; i++) {
for (int j = 0; j <= 2; j++) {
datos[i][j] = productos[i][j];
}
}
//CONDICIONALES QUE SI SE CUMPLEN MOSTRARAN LA DESCRIPCION Y EL VALOR UNITARIO DE DICHO PRODUCTO
} else if ("9090".equals(cod)) {
ImageIcon foto = new ImageIcon(getClass().getResource("/ImagenesF/pyraminx.jpg"));
ImageIcon mitad = new ImageIcon(foto.getImage().getScaledInstance(jlFOTO.getWidth(), jlFOTO.getHeight(), Image.SCALE_DEFAULT));
jlFOTO.setIcon(mitad);
for (int i = 8; i < 9; i++) {
for (int j = 0; j <= 2; j++) {
datos[i][j] = productos[i][j];
}
}
//CONDICIONALES QUE SI SE CUMPLEN MOSTRARAN LA DESCRIPCION Y EL VALOR UNITARIO DE DICHO PRODUCTO
} else if ("0000".equals(cod)) {
ImageIcon foto = new ImageIcon(getClass().getResource("/ImagenesF/skewb.jpg"));
ImageIcon mitad = new ImageIcon(foto.getImage().getScaledInstance(jlFOTO.getWidth(), jlFOTO.getHeight(), Image.SCALE_DEFAULT));
jlFOTO.setIcon(mitad);
for (int i = 9; i < 10; i++) {
for (int j = 0; j <= 2; j++) {
datos[i][j] = productos[i][j];
}
}
}
//CILCOS ANIDADOS Y CONDICIONALES QUE SE ENCARGAN DE HACER LA OPERACION DE CANTIDAD * VALOR UNITARIO DE CADA PRODUCTO
for (int i = 0; i < datos.length; i++) {
if (datos[i][3] != null) {
datos[i][4] = Integer.toString(Integer.parseInt(datos[i][2]) * Integer.parseInt(datos[i][3]));
}
}
}

//VARIABLES QUE GUARDARAN LAS OPERACIONES FINALES


int st = 0;
double iva = 0, dsc = 0, gt = 0, aum = 0;
if (e.getSource() == btA) {
for (int i = 0; i < datos.length; i++) {
if (datos[i][4] == null) {
datos[i][4] = Integer.toString(0);
}
st = st + Integer.parseInt(datos[i][4]);
jt7.setText(" " + st);
}
if (com.equals("Cheque")) {
String c = JOptionPane.showInputDialog("¿Cheque valido? <Si> <No>");
if (c.equalsIgnoreCase("si")) {
iva = st * 0.19;
dsc = st * 0.025;
gt = (iva + st) - dsc;
jt8.setText(" " + dsc);
jt9.setText(" " + iva);
jt10.setText(" " + gt);

}
else if (c.equalsIgnoreCase("no")) {
iva=st*0.19;
aum=st*0.10;
gt=iva+st+aum;
jt8.setText(""+dsc);
jt9.setText(" "+iva);
jt10.setText(" "+gt);
}

} else if (com.equals("Efectivo")) {
iva = st * 0.19;
gt = iva + st;
jt8.setText(" " + dsc);
jt9.setText(" " + iva);
jt10.setText(" " + gt);
} else if (com.equals("Credito")) {
iva = st * 0.19;
dsc = st * 0.08;
gt = iva + st;
jt8.setText(" " + dsc);
jt9.setText(" " + iva);
jt10.setText(" " + gt);
}
}
//BOTON SALIR DEL FORMULARIO EL CUAL CIERRA LA FACTURA
if (e.getSource()
== btS) {
System.exit(0);
}
}
}

También podría gustarte