Codigo Tutoría 5
Codigo Tutoría 5
Formulario Papelería la
Cipas 5
Esteban Velez
Emanuel Pérez
Miguel Vila
Mateo Palomino
Tutor
Alexander
*/
package com.mycompany.papeleria;
import javax.swing.DefaultListModel;
import javax.swing.DefaultListModel;
import java.util.Map;
import java.util.LinkedHashMap;
import javax.swing.JOptionPane;
/**
* @author DALIA
*/
int contador = 1;
public papeleriaa() {
initComponents();
lstNumero.setModel(numeroModel);
lstDescripcion.setModel(descripcionModel);
lstPrecio.setModel(precioModel);
lstCantidad.setModel(cantidadModel);
lstSubtotal.setModel(subtotalModel);
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
*/
@SuppressWarnings("unchecked")
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setName("papeleria"); // NOI18N
jLabel1.setText("VENTA DE PRODUCTOS");
cboProducto.addActionListener(new java.awt.event.ActionListener() {
cboProductoActionPerformed(evt);
});
txtCantidad.setBorder(javax.swing.BorderFactory.createTitledBorder("Cantidad"));
txtCantidad.addActionListener(new java.awt.event.ActionListener() {
txtCantidadActionPerformed(evt);
});
btnComprar.setText("Comprar");
btnComprar.addChangeListener(new javax.swing.event.ChangeListener() {
btnComprarStateChanged(evt);
});
btnComprar.addActionListener(new java.awt.event.ActionListener() {
btnComprarActionPerformed(evt);
});
lstNumero.setBorder(javax.swing.BorderFactory.createTitledBorder("No"));
jScrollPane1.setViewportView(lstNumero);
lstDescripcion.setBorder(javax.swing.BorderFactory.createTitledBorder("Descripcion"));
jScrollPane2.setViewportView(lstDescripcion);
lstPrecio.setBorder(javax.swing.BorderFactory.createTitledBorder("Precio"));
jScrollPane3.setViewportView(lstPrecio);
lstCantidad.setBorder(javax.swing.BorderFactory.createTitledBorder("Cantidad"));
jScrollPane4.setViewportView(lstCantidad);
lstSubtotal.setBorder(javax.swing.BorderFactory.createTitledBorder("Subtotal"));
jScrollPane5.setViewportView(lstSubtotal);
btnLimpiar.setText("Limpiar");
btnLimpiar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLimpiarActionPerformed(evt);
});
btnSalir.setText("Salir");
btnSalir.addActionListener(new java.awt.event.ActionListener() {
btnSalirActionPerformed(evt);
});
jLabel2.setText("Subtotal");
jLabel3.setText("Descuento");
jLabel4.setText("Neto a pagar");
lblSubtotal.setBorder(new
javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
lblDescuento.setBorder(new
javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
lblNeto.setBorder(new
javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
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()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()
.addComponent(btnSalir)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel4))
.addGroup(layout.createSequentialGroup()
.addComponent(btnLimpiar)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel2))
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel3)))))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(lblSubtotal, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblDescuento, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(315, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 223,
javax.swing.GroupLayout.PREFERRED_SIZE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(cboProducto, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtCantidad, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(btnComprar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(btnLimpiar)
.addComponent(btnSalir))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4))))
);
pack();
}// </editor-fold>
private void txtCantidadActionPerformed(java.awt.event.ActionEvent evt) {
if (cantidadTexto.isEmpty() || !cantidadTexto.matches("\\d+")) {
return;
numeroModel.addElement(String.valueOf(contador));
descripcionModel.addElement(producto);
precioModel.addElement(String.format("%.0f", precio));
cantidadModel.addElement(String.valueOf(cantidad));
subtotalModel.addElement(String.format("%.0f", subtotal));
// Actualizar total
total += subtotal;
// Aumentar contador
contador++;
txtCantidad.setText("");
total += Double.parseDouble(subtotalModel.get(i));
// Mostrar en etiquetas
// Limpiar modelos
numeroModel.clear();
descripcionModel.clear();
precioModel.clear();
cantidadModel.clear();
subtotalModel.clear();
contador = 1;
total = 0.0;
lblSubtotal.setText("Subtotal: $ 0");
if (confirmacion == JOptionPane.YES_OPTION) {
System.exit(0);
/**
*/
//<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.
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
java.util.logging.Logger.getLogger(papeleriaa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(papeleriaa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(papeleriaa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(papeleriaa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new papeleriaa().setVisible(true);
});