Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/11/2014, 15:18
lucho248
 
Fecha de Ingreso: octubre-2010
Mensajes: 154
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: paso de un DefaultTableModel a otro

lo solucione momentaneamente de la siguiente manera:

Código Declaracion::
Ver original
  1. public DefaultTableModel model;
  2.     public DefaultTableModel mM1, mM2, mM3, mM4, mM5, mM6, mM7, mM8, mM9, mM10;
  3.     public int ticket;
  4.     private List<String> listTicket;


Código Metodos:
Ver original
  1. public void botonTicket(JButton boton, DefaultTableModel modN){
  2.         DefaultTableModel auxModel, aux = null;
  3.         aux = modelosBotones(aux);
  4.         try {
  5.             auxModel = (DefaultTableModel) tabla.getModel();
  6.             boolean celdaVaciaTabla = (auxModel.getValueAt(0, 0).equals("") || auxModel.getValueAt(0, 0).equals(null));
  7.             boolean celdaVaciaModelo;
  8.             if (modN != null){
  9.                 celdaVaciaModelo = (modN.getValueAt(0, 0).equals("") || modN.getValueAt(0, 0).equals(null));           
  10.             }else{
  11.                 celdaVaciaModelo = false;
  12.             }
  13.            
  14.             if (celdaVaciaTabla && (boton.getText().length() > 1))
  15.             {  
  16.                 modelos(modN, auxModel);
  17.                 tabla.setModel(auxModel);
  18.                 modN = new DefaultTableModel();
  19.                 modN = modelosBotones(modN);
  20.                
  21.                 int intBoton = Integer.parseInt(boton.getText().substring(1, boton.getText().length()));
  22.                 String strBoton = boton.getText();
  23.                 boton.setText("");
  24.                
  25.                 ticket = intBoton-1; //resto un ticket menos que el que se quito
  26.                 listTicket.remove(strBoton);
  27.                
  28.             }else{                                         
  29.                     /** si los dos estan vacios o los dos tienen ticket, que no intercambie nada y no incremente el ticket*/
  30.                     if(!celdaVaciaTabla && celdaVaciaModelo ){
  31.                         modelos(auxModel, modN);
  32.                         initTabla(null);
  33.                                                
  34.                         boolean esta;                      
  35.                         do{
  36.                             ticket++;
  37.                             esta = listTicket.contains("M"+ticket);                        
  38.                         }while(esta);                      
  39.                         if(!esta){
  40.                             listTicket.add("M"+ticket);
  41.                             boton.setText("M"+ticket);
  42.                         }
  43.                     }              
  44.             }      
  45.            
  46.         } catch (Exception e) {
  47.             e.printStackTrace();           
  48.         }      
  49.     }
  50.    
  51.     /** Intercambio los DefaultTableModel con este metodo
  52.      * @param DefaultTableModel modViejo: el modelo con datos
  53.      * @param DefaultTableModel modNuevo: el modelo en blanco, donde se copiaran los datos.
  54.      * */
  55.     public void modelos(DefaultTableModel modViejo, DefaultTableModel modNuevo) {
  56.         int filas = modViejo.getRowCount();
  57.         int col = modViejo.getColumnCount();
  58.         int i = 0, j = 0;
  59.         boolean BFilas = false;
  60.        while (i<filas && !BFilas) {
  61.            
  62.             if (modViejo.getValueAt(i,j) == null || modViejo.getValueAt(i,j) == "")
  63.                 BFilas = true;
  64.             else{
  65.                 while (j < col){
  66.                    
  67.                     modNuevo.setValueAt(modViejo.getValueAt(i,j), i,j);
  68.                     modViejo.setValueAt("", i,j);
  69.                     j++;
  70.                 }              
  71.                 i++;
  72.                 j = 0;
  73.             }          
  74.         }
  75.    }

con estas modificaciones logre que haga lo que estoy buscando.
Si alguien me puede indicar como mejorarlo, sera bien venido.
Saludos.