Problema em rotina de salvar dados de uma jTable em um arquivo TXT

4 respostas
A

Bom dia Pessoal,
To com um problema aqui, eu tenho uma jTable em que o usuario do sistema irá preencher ela e clicar em um button pra salvar estes dados em um arquivo txt.
Porém eu quero que quando ele clique em salvar e o sistema salve o arquivo texto a tabela continue mostrando o que ele fez.
O que tem me ocorrido de erro é o seguinte quando eu salvo e ele me mostra a tabela, a mesma fica toda travada. Não consigo mais clicar em nada do jFrame muito menos editar a tabela.

Vou postar o bloco de código do salvar pra voces olharem.

public void Gravar(String texto){   
                String lineSeparator = (String) java.security.AccessController.doPrivileged(new sun.security.action.GetPropertyAction("line.separator"));
                String nomearq;
                DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel(); 
                String conteudo = jTextField1.getText().toString();
                String amigoleo = jTextField2.getText().toString();
                String data = jTextField3.getText().toString();
                String nomearquivo = "D:/";
                String primeiralinha = data;
                primeiralinha+= ";" .concat(conteudo);
                primeiralinha+= ";".concat(amigoleo);
                nomearquivo += data;
                nomearquivo += pegaCodigoMaterial();
                nomearquivo += ";".concat(conteudo);
                nomearquivo +=";".concat(amigoleo);
                //nomearquivo+=".txt";
             
                salvar a = new salvar(nomearquivo);
                String name = a.narq();
                nomearquivo+=".txt";
        
        try{   
        
               StringBuilder b;   
               String local = name;
               FileWriter x = new FileWriter(local,true);   
               String rot;
               ArrayList<StringBuilder> linhas = new ArrayList<StringBuilder>();   
                DefaultTableModel modelo2 = (DefaultTableModel)jTable1.getModel(); 
               String arme;
               
                    for(int i = 0; i< modelo.getRowCount(); i++){                      
                         b = new StringBuilder();   
                            for(int j = 0; j < modelo.getColumnCount(); j++){   
                                
                                if(j==3){
                                 if(modelo.getValueAt(i, j)!=null){
                                
                                 }
                                }
                                //inicio do if pegando o material
                               
                                
                                //fim do if pegando o material
                                //inicio do if de validação dos campos
                                if(j==4){
                                    boolean v = true ;
                                    boolean f = false;
                                    if (modelo.getValueAt(i,j)!= null){
                                          String mate = jComboBox4.getSelectedItem().toString();
                                          String[] cod = mate.split(";");
                                          arme = cod[1];
                                          b.append(arme);
                                          b.append(";");
                                        if(modelo.getValueAt(i, j).equals(v)){
                                           String temp = "1";
                                           modelo.setValueAt(temp, i,j);
                                        }
                                        if(modelo.getValueAt(i,j).equals(f)){
                                            String temp = "0";
                                            modelo.setValueAt(temp, i, j);
                                        }
                                    }
                                    if(modelo.getValueAt(i,j)== null){
                                        String temp = "0";
                                        modelo.setValueAt(temp,i,j);
                                    }
                                }// fim do if 4
                                // ate a 4 coluna tudo validado corretamente!
                                // inicio do if 5
                                                             
                                
                                if (j==5){
                                    boolean v = true;
                                    boolean f = false;
                                    if(modelo.getValueAt(i, j)!= null){
                                      if(modelo.getValueAt(i, j).equals(v)){
                                          String temp = jComboBox3.getSelectedItem().toString();
                                          modelo.setValueAt(temp, i, j);
                                      }
                                      if(modelo.getValueAt(i, j).equals(f)){
                                          String temp = "0";
                                          modelo.setValueAt(temp, i, j);
                                      }
                                    }
                                    if (modelo.getValueAt(i, j) == null){
                                          String temp = "0";
                                          modelo.setValueAt(temp, i, j);
                                    }
                                    
                                }
                                 if (j==6){
                                    boolean v = true;
                                    boolean f = false;
                                    if(modelo.getValueAt(i, j)!= null){
                                      if(modelo.getValueAt(i, j).equals(v)){
                                          String temp = jComboBox3.getSelectedItem().toString();
                                          modelo.setValueAt(temp, i, j);
                                      }
                                      if(modelo.getValueAt(i, j).equals(f)){
                                          String temp = "0";
                                          modelo.setValueAt(temp, i, j);
                                      }
                                    }
                                    if (modelo.getValueAt(i, j) == null){
                                          String temp = "0";
                                          modelo.setValueAt(temp, i, j);
                                    }
                                    
                                }
                                  if (j==7){
                                    boolean v = true;
                                    boolean f = false;
                                    if(modelo.getValueAt(i, j)!= null){
                                      if(modelo.getValueAt(i, j).equals(v)){
                                          String temp = jComboBox3.getSelectedItem().toString();
                                          modelo.setValueAt(temp, i, j);
                                      }
                                      if(modelo.getValueAt(i, j).equals(f)){
                                          String temp = "0";
                                          modelo.setValueAt(temp, i, j);
                                      }
                                    }
                                    if (modelo.getValueAt(i, j) == null){
                                          String temp = "0";
                                          modelo.setValueAt(temp, i, j);
                                    }
                                    
                                }
                              if (j==8){
                                    boolean v = true;
                                    boolean f = false;
                                    if(modelo.getValueAt(i, j)!= null){
                                      if(modelo.getValueAt(i, j).equals(v)){
                                          String temp = jComboBox3.getSelectedItem().toString();
                                          modelo.setValueAt(temp, i, j);
                                      }
                                      if(modelo.getValueAt(i, j).equals(f)){
                                          String temp = "0";
                                          modelo.setValueAt(temp, i, j);
                                      }
                                    }
                                    if (modelo.getValueAt(i, j) == null){
                                          String temp = "0";
                                          modelo.setValueAt(temp, i, j);
                                    }
                                    
                                }
                                
                                
                                
                                
                                
                                // fim do if 5
                                
                                //fim do if de validação dos campos
                                b.append(modelo.getValueAt(i,j));
                               
                               b.append(";");                           
                               
                            }  
                            
                            
                           
                           linhas.add(b);
                         // JOptionPane.showMessageDialog(rootPane, linhas);
                      } 
                    
                    x.write(primeiralinha + lineSeparator);                   
                    for(StringBuilder bb: linhas){        
                         x.write(bb.toString());
                         x.write(lineSeparator);
                         //fim///////////
                          //JOptionPane.showMessageDialog(rootPane, "oi");
                     }        
                  
                    x.close();               
                    
                 
                    
                    //jLabel6.setText(local);
                    //JOptionPane.showMessageDialog(null,"Arquivo gravado com sucesso");  
                    
                    
                    //modelo.setNumRows(0);
                    //jTextField1.setText("");
                    //jTextField2.setText("");
                    //jTextField3.setText("");
                    //jPanel1.setVisible(false);
                    //jPanel3.setVisible(false);
                    //jComboBox3.setSelectedIndex(0);
                    //jComboBox4.setSelectedIndex(0);
                    statusSalvar = 1;
                    jLabel16.setVisible(true);
                    jButton7.setVisible(false);
                    jTable1.repaint();
            }         
             catch(Exception e){   
                 e.printStackTrace();
              } 
          jLabel16.setText("Arquivo Salvo com sucesso!");
   }

esse é o metodo que chamo no button… Ele está salvando certo porem esta última label que eu seto pra mostrar que o arquivo foi salvo ja demora demais pra ser mostrado, por que trava tudo…

4 Respostas

ViniGodoy

Tópico movido para o fórum de interface gráfica.

A

Alguem sabe me auxiliar?

A

Nada???

A

putz ninguem passa por aqui?

Criado 1 de fevereiro de 2012
Ultima resposta 2 de fev. de 2012
Respostas 4
Participantes 2