Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Holderk6 en 17 Marzo 2014, 21:45 pm



Título: Duda con JTable netBeans, se puede almacenar en un Textfield lo echo en tabla?
Publicado por: Holderk6 en 17 Marzo 2014, 21:45 pm
Buen dia, disculpen, tengo una duda con mi programa, veran, tengo una JTable donde se ingresan varios datos, pero solo me interesan 2, el de cantidad y precio(Estos valores los metera el usuario) pero cuando quiero mandar llamar varios articulos cada uno con su respectivo total, quiero que se muestren en un textfield o un label, pero ya sumados los totales de los articulos comprados, no se si me doy a explicar, bueno, por tu atencion muchas gracias, saludos
estoy usando netBeans


Título: Re: Duda con JTable netBeans, se puede almacenar en un Textfield lo echo en tabla?
Publicado por: Mitsu en 17 Marzo 2014, 22:21 pm
Hola, bienvenido al foro.

Importante: Antes de crear un tema asegúrate que esté en la sección correcta (tiene algo que ver Visual Basic con Java?)

Supongamos que tienes la tabla productos los precios. Entonces, solo necesitas hacer una consulta a la base de datos.

Código
  1. EntityManagerFactory emf = Persistence.getEntityManagerFactory("PersistenciaPU");
  2. EntityManager em = null;
  3.  
  4. String producto = cboProductos.getSelectedItem().toString(); // producto elegido
  5. Int cantidad = Integer.valueOf(txtCantidad.getText());
  6.  
  7. // obtenemos el producto de la base de datos de acuerdo al producto elegido
  8. // esto es una consulta a base de datos JPA, si aún no lo ves, no lo tomes en cuenta.
  9. em = emf.getEntityManager();
  10. em.getTransaction().begin();
  11. Query query = em.createQuery("SELECT p from PRODUCTOS p where p.nombre := nombre");
  12. query.setParameter("nombre",producto); // especificamos el nombre del producto
  13. Producto producto = (Producto) query.getSingleResult(); // obtenemos el producto
  14. em.getTransaction().commit();
  15.  
  16. double precioProducto = producto.getPrecio();
  17.  
  18. // hacemos el cálculo de cuánto tiene que pagar
  19. double totalPagar = precioProducto * cantidad;
  20.  
  21. // lo mostramos en un label
  22. lblTotalPagar.setText(String.valueOf(totalPagar));

Si no entendiste nada del código anterior te lo simplifico:

Código
  1. // obtenemos el producto elegido en un combobox y la cantidad de productos
  2. String producto = cboProductos.getSelectedItem().toString();
  3. int cantidad = Integer.valueOf( txtCantidad.getText() );
  4.  
  5. // obtienes de tu base de datos o lo donde tengas guardado los productos
  6. double precioProducto = ; // aqui obtienes el precio del producto de acuerdo al producto elegido en el combo
  7.  
  8. // hacemos los calculos
  9. double totalPagar = precioProducto * cantidad;
  10.  
  11. // lo mostramos en un jlabel
  12. lblPagar.setText( String.valueOf(totalPagar));

En este ejemplo se obtiene por medio de la fila seleccionada en un JTable los valores que hay en las columnas que se indique. Si se tiene varias filas, hazlo en un bucle y reemplaza i por filaSeleccionada.

Código
  1. // obtenemos el modelo de la tabla
  2. DefaultTableModel modelo = (DefaultTableModel) miTabla.getTableModel();
  3. int filaSeleccionada = miTabla.getSelectedRow(); // obtiene la fila seleccionada
  4.  
  5. int cantidad = (Integer) modelo.getValueAt(filaSeleccionada,columna);
  6. double precio = (Double) modelo.getValueAt(filaSeleccionada,columna);
  7.  
  8. // haces los cálculos...

Yapa: Limpiar tu JTable

Código
  1.    private void limpiaTabla() throws Exception{
  2.           try{
  3.               temp = (DefaultTableModel) jtablaDepart.getModel();
  4.               int a =temp.getRowCount()-1;
  5.               for(int i=0; i<a; i++)
  6.                   temp.removeRow(0);
  7.           }catch(Exception e){
  8.               throw e;
  9.           }
  10.       }


Como vez, el manejo de una JTable no es para nada difícil. Esta vez te ayudé porque estoy de buen humor, a la próxima mira la documentación carajo! xD