Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]

Proyecto de base de datos Firebird VB

En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]

Code Army Bolivia

26/10/12

Problema Resuelto: Sumar columna de numeros

JAN29

Problema: El problema dice así, "Quiero sumar los números de una columna, los valores de las celdas se pueden modificar diatónicamente". Es todo o.O

Respuesta:

Para resolver este problema partimos de una interfaz básica, utilizamos el IDE Netbeans 6.9

Solo sumaremos números enteros. Para saber si se realizo o no algún cambio sobre el JTable debemos hacer uso de un listener, más propiamente de un TableModelListener,
Nuestro ejemplo estará compuesto de una columna de productos STRING y otra de cantidades INT
esta segunda columna es la que sumaremos. Cuando se cambie el valor de cualquier celda de la segunda columna, se hará uso de un método privado para recalcular el total, si por error se introduce un valor NO NUMÉRICO,  el valor, cualquiera que fuere sera reemplazado por un cero "0".

El código es:

import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
/**
 * @web http://www.jc-mouse.net/
 * @author Mouse
 */
public class interfaz extends javax.swing.JFrame {

    //se inicia la tabla con algunos datos
    DefaultTableModel model = new DefaultTableModel(
           new Object[][] {
                { "Harina", "10" },
                { "Huevos", "21" },
                { "Chorizo", "53" },
                { "Leche", "4" },
                { "Pan", "34" },
                { "Mantequilla", "12" },
                },
      new Object[] { "Producto", "Cantidad" });

    /** Creates new form interfaz */
    public interfaz() {
        initComponents();

    suma();//primera suma del total 
    this.jTable1.setModel( model );
    //se añade a la tabla un Listener
    this.jTable1.getModel().addTableModelListener(new TableModelListener() {
      //cuando se produzca un cambio se ejecuta el codigo que coloquemos aqui dentro
      public void tableChanged(TableModelEvent e) {
          //sabemos que nuestros numeros se encuentra en la segunda columna iniciando de 0
          if( e.getColumn()==1 )//cuando se modifique un valor de la columna
              suma();//se ajusta el resultado
      }
    });
    }

    /** Metodo privado para la suma de cantidades */
    private void suma()
    {
        int total = 0;
        //recorrer todas las filas de la segunda columna y va sumando las cantidades
        for( int i=0 ; i<model.getRowCount() ; i++)
        {
            int numero =0;
            try{
                //capturamos valor de celda
                numero = Integer.valueOf( model.getValueAt(i, 1).toString() );
            }
            catch (NumberFormatException nfe){ //si existe un error se coloca 0 a la celda
                numero = 0;
                model.setValueAt(0, i, 1);
            }
            //se suma al total
            total += numero;
        }
        //muestra en el componente
        this.jTextField1.setText( String.valueOf(total) );
    }

Cuando ejecutemos tendremos como resultado:

Bájate el código AQUI

5 comentarios:

Anónimo dijo...

comentario

Unknown dijo...

amigo mouse muchas gracias.. por su colaboracion y el tanto compartir con nosotros de ante mano le deseo las mas feliz navidad ... y agradecerle,,,,por todo y para el otro año que Dios te siga bendiciendo en tus cosas...

Unknown dijo...

amigo mouse muchas gracias por compartir tanto y tener tanta calma con nosotros los que apenas comenzamos en programcion en java se lo agradecemos inmnamente y te deseo una FELIZ NAVIDAD y agradecerte inmensamente por todo y que el otro año que viene Dios te siga bendiciendo.. en tus cosas

Unknown dijo...

estoy haciendo un sistema apenas estoy aprendiendo y la verdad
me has ayudado mas que esos maestros de la uni ...
gracias me gusta mucho tu blog

Unknown dijo...

Amigo, cuando en una celda no exite un numero, la funcion me marca error, sabes como se puede solucionar?

Post recomendado