Ver Mensaje Individual
  #8 (permalink)  
Antiguo 27/04/2012, 01:39
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 7 meses
Puntos: 344
Respuesta: JTable con columna tipo boolean

Vale, el problema está claro.

La variable tabla (a la cual le asignas un objeto de la clase DefaultTableModel) no es el modelo que estás usando realmente en la JTable, sino el que le pasas a setModel.

Te paso como quedaría bien hecho:

Código Java:
Ver original
  1. public class BorrarPedido extends javax.swing.JFrame {
  2.  
  3.                 new String[]{" ", "Nº PEDIDO", "PROVEEDOR", "FECHA PEDIDO", "IMPORTE TOTAL"}, 0) {
  4.  
  5.             Class[] types = new Class[]{
  6.                 java.lang.Boolean.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class,java.lang.Object.class
  7.             };
  8.  
  9.             public Class getColumnClass(int columnIndex) {
  10.                 return types[columnIndex];
  11.             }
  12.      };
  13.        
  14.     GestorBD gbd = new GestorBD();
  15.  
  16.     /**
  17.      * Creates new form BorrarPedido
  18.      */
  19.     public BorrarPedido() {
  20.         initComponents();
  21.         jTable1 = new JTable (tabla);
  22.        
  23.         int anchos[] = {1,30, 50, 60, 60};
  24.         for (int i = 0; i < jTable1.getColumnCount(); i++) {
  25.             jTable1.getColumnModel().getColumn(i).setPreferredWidth(anchos[i]);
  26.         }
  27.         setLocationRelativeTo(null);
  28.         combo_cif.setVisible(false);
  29.         List<Proveedor> lista = gbd.proveedores();
  30.         for (int i = 0; i < lista.size(); i++) {
  31.             combo_proveedor.addItem(lista.get(i).getNombre());
  32.             combo_cif.addItem(lista.get(i).getCIF());
  33.         }
  34.     }
  35. private void buscarActionPerformed(java.awt.event.ActionEvent evt) {                                      
  36.         borrar.setEnabled(true);
  37.         //busca los pedidos comprendidos entre las dos fechas
  38.         //las fechas pueden ser nulas!!!! en ese caso saca todos los pedidos del proveedor
  39.  
  40.         //miramos cual es el proveedor
  41.         int pos = combo_proveedor.getSelectedIndex();
  42.         combo_cif.setSelectedIndex(pos);
  43.         String prov = combo_cif.getSelectedItem().toString();
  44.  
  45.         List<Pedido> pedidosProveedor = new ArrayList();
  46.         List<Pedido> todosPedidos = gbd.pedidos();
  47.  
  48.  if(fecha1.getDate() == null && fecha2.getDate()!= null){
  49.             //cogemos la fecha1
  50.             Date fech2 = fecha2.getDate();
  51.                 //buscamos pedidos del proveedor mayores o iguales a la fecha2
  52.                 //sacamos toda la lista de todos los pedidos a proveedor
  53.                 for (int i = 0; i < todosPedidos.size(); i++) {
  54.                     if (todosPedidos.get(i).getProveedor().equalsIgnoreCase(prov) && todosPedidos.get(i).getFecha().compareTo(fech2) <= 0) {
  55.                         pedidosProveedor.add(todosPedidos.get(i));
  56.                     }
  57.                 }
  58.                 System.out.println("tam***" +pedidosProveedor.size()); //esto lo puse a ver si entraba y entra
  59.                 for (int i = 0; i < pedidosProveedor.size(); i++) {
  60.                     System.out.println("entra");
  61.                     Object datos[] = new Object[5];
  62.                    
  63.                     datos[0] = new Boolean(false);
  64.                     System.out.println(prov);
  65.                     datos[1] = String.valueOf(pedidosProveedor.get(i).getNumeroPedido());
  66.                     datos[2] = prov;
  67.                     datos[3] = String.valueOf(pedidosProveedor.get(i).getFecha());
  68.                     datos[4] = String.valueOf(pedidosProveedor.get(i).getImporteTotal());
  69.                     tabla.addRow(datos);
  70.  
  71.                 }
  72.            
  73.         }