Eu tenho o seguinte código abaixo, que está funcionando direitinho, ele pela a planilha .csv e joga no banco. Porém queria colocar uma barra de progresso, vi uns sites e vídeos de como fazer, mas nestes só mostram valores pegados de botões, ou valores fixos, não achei nada com while por exemplo.
No no meu código abaixo eu colocaria a barra de progresso, e em que local a medida que fosse colocando no banco, a barra fosse sendo atualizada e mostrando valor até chegar em 100%, se marcarem onde colocar a barra e como fazer essa atualização, eu consigo resolver. O problema é que não sei onde coloca-la.
//------código-----
JFileChooser fc = new JFileChooser(); // Logger.getLogger(ListaNcm.class.getName()).log(Level.SEVERE, null, err);
int res = fc.showOpenDialog(null);
if (res == JFileChooser.APPROVE_OPTION) {
File arquivo = fc.getSelectedFile();
JOptionPane.showMessageDialog(null,"O processo de importação poderá demorar um pouco.\nAssim que estiver concluído irei exibir uma mensagem de conclusão","",JOptionPane.INFORMATION_MESSAGE);
int batchSize = 20;
conecta_contaContab = new ConexaoBD();
conecta_contaContab.conecta();
try{
PreparedStatement pstmt = conecta_contaContab.conexao.prepareStatement("Truncate table con_cnae01");
pstmt.execute();
String sql = "INSERT INTO con_pcc01 (codigoExpandido,codigoReduzido,grupo,tipo,nomePlanoConta,naturezaPlanConta,dataInclusao,drePlanConta) VALUES (?,?,?,?,?,?,?,?)";
PreparedStatement statement = conecta_contaContab.conexao.prepareStatement(sql);
BufferedReader lineReader = new BufferedReader(new FileReader(arquivo));
String lineText = null;
int count = 0;
lineReader.readLine(); // skip header line
while ((lineText = lineReader.readLine()) != null) {
String[] data = lineText.split(";");
String codigoExpan = data[0];
String codigoReduz = data[1];
String grupoConta = data[2];
String tipoConta = data[3];
String nomePlano = data[4];
String naturezaPlan = data[5];
String dataIncluso = data[6];
String tipoDre = data.length == 8 ? data[7] : "";
statement.setString(1, codigoExpan);
statement.setString(2, codigoReduz);
statement.setString(3, grupoConta);
statement.setString(4, tipoConta);
statement.setString(5, nomePlano);
statement.setString(6, naturezaPlan);
statement.setDate(7, java.sql.Date.valueOf(dataIncluso));
statement.setString(8, tipoDre);
statement.addBatch();
if (count % batchSize == 0) {
statement.executeBatch();
conecta_contaContab.conecta();
conecta_contaContab.executeSQL("Select * from con_pcc01 order by idPlanCont");
mostrar_tabela();
}
}
lineReader.close();
// execute the remaining queries
statement.executeBatch();
conecta_contaContab.conexao.close();
JOptionPane.showMessageDialog(null,"Importação realizada com sucesso","",JOptionPane.INFORMATION_MESSAGE);
conecta_contaContab = new ConexaoBD();
conecta_contaContab.conecta();
conecta_contaContab.executeSQL("Select * from con_pcc01 order by idPlanCont");
mostrar_tabela();
// Atualiza a Barra de Progresso
} catch (IOException ex) {
JOptionPane.showMessageDialog(null,"Erro ao importar: "+ex,"",JOptionPane.ERROR_MESSAGE);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Erro ao importar: "+ex,"",JOptionPane.ERROR_MESSAGE);
try {
conecta_contaContab.conexao.rollback();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,"Erro ao importar: "+e,"",JOptionPane.ERROR_MESSAGE);
}
}
conecta_contaContab.conecta();
}else{
}

