Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

NOMBRE: LUIS JOSUE CARRIZO RODRIGUEZ

PROGRAMA: AUXILIAR DE SISTEMAS

MODULO:PROGRAMACION 2 JAVA

DOCENTE: JOSE AYOLA


HORARIO: DE 8 A 1

FECHA: 12/04/2024

Acceso al Sistema

private void btnaceptarActionPerformed(java.awt.event.ActionEvent evt) {

String user,pwd;

user=txtusuario.getText();

pwd=txtpasword.getText();

if (user.equals("josue")&& pwd.equals("12345")){

F2 acceso= new F2();

acceso.setVisible(true);

this:setVisible(false);

}else{
JOptionPane.showMessageDialog(null,"usuario o contraseña es incorrecta");

private void txtmostrarActionPerformed(java.awt.event.ActionEvent evt) {

private void btnsalirActionPerformed(java.awt.event.ActionEvent evt) {

System.exit(WIDTH);
Tiendita oxxo

public final class EjercicioTiendaOXXO extends javax.swing.JFrame {

String productos[]={"sabritas","coca cola","cafe","sopa","arroz","tequila","carne de


buffalo","agua","aceite de palma","pollo"};

double precios[]={15.5,30,12,20,10,80,55.9,34.9,49.9,100};

double precio=0;

int cantidad=0;

DefaultTableModel modelo=new DefaultTableModel();

ArrayList<Venta> listaVentas=new ArrayList<Venta>();

public EjercicioTiendaOXXO() {

initComponents();

DefaultComboBoxModel comboModel=new DefaultComboBoxModel (productos);

cboproducto.setModel(comboModel);

modelo.addColumn("Descripcion");

modelo.addColumn("Precio U.");
modelo.addColumn("Cantidad");

modelo.addColumn("Importe");

actualizarTabla();

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jScrollPane1 = new javax.swing.JScrollPane();

tblproductos = new javax.swing.JTable();

jLabel6 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

jLabel8 = new javax.swing.JLabel();

lblprecio = new javax.swing.JLabel();

lblimporte = new javax.swing.JLabel();

btnagregar = new javax.swing.JButton();

cboproducto = new javax.swing.JComboBox<>();

spncantidad = new javax.swing.JSpinner();

lblsubtotal = new javax.swing.JLabel();


lbliva = new javax.swing.JLabel();

lbltotal = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel1.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N

jLabel1.setForeground(new java.awt.Color(255, 0, 0));

jLabel1.setText("Tiendita OXXO");

jLabel2.setText("Producto");

jLabel3.setText("Cantidad");

jLabel4.setText("Precio");

jLabel5.setText("Importe");

tblproductos.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},


{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

"Title 1", "Title 2", "Title 3", "Title 4"

));

jScrollPane1.setViewportView(tblproductos);

jLabel6.setText("Subtotal");

jLabel7.setText("IVA");

jLabel8.setText("Total");

lblprecio.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

lblprecio.setText("$ 0.00 MXN");

lblimporte.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

lblimporte.setText("$ 0.00 MXN");

btnagregar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/boton-
circular-plus.png"))); // NOI18N

btnagregar.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {


btnagregarActionPerformed(evt);

});

cboproducto.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1",


"Item 2", "Item 3", "Item 4" }));

cboproducto.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

cboproductoActionPerformed(evt);

});

spncantidad.setModel(new javax.swing.SpinnerNumberModel(1, 1, 10, 1));

spncantidad.addChangeListener(new javax.swing.event.ChangeListener() {

public void stateChanged(javax.swing.event.ChangeEvent evt) {

spncantidadStateChanged(evt);

});

lblsubtotal.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

lblsubtotal.setText("$ 0.00 MXN");

lbliva.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

lbliva.setText("$ 0.00 MXN");

lbltotal.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbltotal.setText("$ 0.00 MXN");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(218, 218, 218)

.addComponent(jLabel1))

.addGroup(layout.createSequentialGroup()

.addGap(56, 56, 56)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING
)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD
ING)

.addComponent(jLabel8)

.addComponent(jLabel7)

.addComponent(jLabel6))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAI
LING)

.addComponent(lblsubtotal, javax.swing.GroupLayout.PREFERRED_SIZE, 111,


javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lbliva, javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(lbltotal, javax.swing.GroupLayout.PREFERRED_SIZE, 111,


javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G, false)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 602,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)

.addComponent(jLabel3)

.addComponent(jLabel2))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING, false)

.addComponent(spncantidad)

.addComponent(cboproducto, javax.swing.GroupLayout.PREFERRED_SIZE,
146, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(105, 105, 105)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING, false)

.addComponent(jLabel5)

.addComponent(jLabel4))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING, false)

.addComponent(lblprecio, javax.swing.GroupLayout.DEFAULT_SIZE, 105,


Short.MAX_VALUE)
.addComponent(lblimporte, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(btnagregar, javax.swing.GroupLayout.PREFERRED_SIZE, 79,


javax.swing.GroupLayout.PREFERRED_SIZE))))))

.addContainerGap(51, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jLabel1)

.addGap(27, 27, 27)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(44, 44, 44)

.addComponent(jLabel3))

.addComponent(lblprecio)

.addComponent(btnagregar, javax.swing.GroupLayout.PREFERRED_SIZE, 63,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(layout.createSequentialGroup()

.addGap(41, 41, 41)

.addComponent(spncantidad, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(cboproducto, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))

.addGroup(layout.createSequentialGroup()

.addComponent(jLabel4)

.addGap(30, 30, 30)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE
)

.addComponent(jLabel5)

.addComponent(lblimporte))))

.addGap(40, 40, 40)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 187,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(26, 26, 26)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel6)

.addComponent(lblsubtotal))

.addGap(29, 29, 29)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel7)

.addComponent(lbliva))

.addGap(27, 27, 27)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel8)

.addComponent(lbltotal))

.addContainerGap(47, Short.MAX_VALUE))

);
pack();

}// </editor-fold>

private void cboproductoActionPerformed(java.awt.event.ActionEvent evt) {

calcularPrecio();

private void spncantidadStateChanged(javax.swing.event.ChangeEvent evt) {

calcularPrecio();

private void btnagregarActionPerformed(java.awt.event.ActionEvent evt) {

Venta venta=new Venta();

venta.setId(cboproducto.getSelectedIndex());

venta.setDescripcion(cboproducto.getSelectedItem().toString());

venta.setPrecio(precio);

venta.setCantidad(cantidad);

venta.setImporte(precio*cantidad);

if (!buscarVenta(venta)){

listaVentas.add(venta);

actualizarTabla();

borrarVENTA();

public boolean buscarVenta(Venta nueva){

for (Venta v : listaVentas){


if (v.getId()==nueva.getId()){

int nuevaCantidad=v.getCantidad()+nueva.getCantidad();

v.setCantidad(nuevaCantidad);

v.setImporte(v.getPrecio()*nuevaCantidad);

return true;

return false;

public void borrarVENTA(){

precio=0;

cantidad=1;

cboproducto.setSelectedIndex(0);

spncantidad.setValue(1);

calcularPrecio();

public void calcularPrecio() {

precio=precios[cboproducto.getSelectedIndex()];

cantidad=Integer.parseInt(spncantidad.getValue().toString());

lblprecio.setText(aMoneda(precio));

lblimporte.setText(aMoneda(precio*cantidad));

public String aMoneda(double precio){

return "$ "+Math.round(precio*100.0)/100.0+" MXN";

public void actualizarTabla(){


while(modelo.getRowCount()>0){

modelo.removeRow(0);

double subtotal=0;

for (Venta v : listaVentas){

Object x[]=new Object [4];

x[0]=v.getDescripcion();

x[1]=aMoneda(v.getPrecio());

x[2]=v.getCantidad();

x[3]=aMoneda(v.getImporte());

subtotal+=v.getImporte();

modelo.addRow(x);

double iva=subtotal*0.16;

double total=subtotal+iva;

lblsubtotal.setText(aMoneda(subtotal));

lbliva.setText(aMoneda(iva));

lbltotal.setText(aMoneda(total));

tblproductos.setModel(modelo);

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :


javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(EjercicioTiendaOXXO.class.getName()).log(java.util.logging.Level
.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(EjercicioTiendaOXXO.class.getName()).log(java.util.logging.Level
.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(EjercicioTiendaOXXO.class.getName()).log(java.util.logging.Level
.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(EjercicioTiendaOXXO.class.getName()).log(java.util.logging.Level
.SEVERE, null, ex);

//</editor-fold>
/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new EjercicioTiendaOXXO().setVisible(true);

});

You might also like