I have a class that compares two ArrayList
, one with user-added information and one with database query.
After the query is done, I send this object to another class that performs writing that data to a file. I would like for as long as these checks were made, I would show a JProgressBar
so the user does not get the impression that the system is locked.
public ArrayList<ModeloCadastroTerceiro> verificaCodigoTerceiro(ArrayList<ModeloCadastroTerceiro> modelo) {
ConectaBanco conecta = new ConectaBanco();
conecta.conexao();
StringBuilder str_busca = new StringBuilder();
ArrayList<ModeloCadastroTerceiro> modeloRetorno = new ArrayList<>();
ModeloCadastroTerceiro mod;
str_busca.append('(');
for (ModeloCadastroTerceiro modelo1 : modelo) {
str_busca.append("'");
str_busca.append(modelo1.getCpfTerceiro());
str_busca.append("'");
str_busca.append(',');
}
str_busca.deleteCharAt((str_busca.toString().length() - 1));
str_busca.append(')');
String busca = String.valueOf(str_busca);
conecta.executaSQL("select * from cadastro_terceiros where cpf_cnpj_terceiro in" + busca);
try {
conecta.rs.first();
do {
mod = new ModeloCadastroTerceiro();
mod.setCodTerceiro(conecta.rs.getInt("id_prosoft_terceiro"));
mod.setCpfTerceiro(conecta.rs.getString("cpf_cnpj_terceiro"));
modeloRetorno.add(mod);
} while (conecta.rs.next());
} catch (SQLException ex) {
if (ex.getErrorCode() == 0) {
} else {
Logger.getLogger(RecuperaInformacaoBanco.class.getName()).log(Level.SEVERE, null, ex);
}
}
ArrayList<ModeloCadastroTerceiro> fim = new ArrayList<>();
ModeloCadastroTerceiro modFim;
for (ModeloCadastroTerceiro mod1 : modelo) {
boolean flag = false;//usada para marcar terceiro não encontrado
for (ModeloCadastroTerceiro te1 : modeloRetorno) {
if (mod1.getCpfTerceiro().equals(te1.getCpfTerceiro())) {
flag = true;
}
}
if (flag == false) {
modFim = new ModeloCadastroTerceiro();
modFim.setCodTerceiro(mod1.getCodTerceiro());
modFim.setNomeTerceiro(mod1.getNomeTerceiro());
modFim.setCpfTerceiro(mod1.getCpfTerceiro());
fim.add(modFim);
}else{
System.out.println("TERCEIRO JA CADASTRADO... NÃO SERA IMPORTADO");
}
}
return fim;
}
After that I call the class that writes to the file from a ArrayList
public void escreverNoArquivo(File arquivo, ArrayList<String> texto) {
FileWriter fw;
BufferedWriter bw;
try {
fw = new FileWriter(arquivo);
bw = new BufferedWriter(fw);
// Recupera cada linha do texto e escreve no arquivo
for (int i = 0; i < texto.size(); i++) {
// Escreve o texto no arquivo
bw.write(texto.get(i));
// Quebra de linha
bw.newLine();
}
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
How to make a JProgressBar
that shows the progress of this?