Pessoal tenho um jTable com duas colunas desenvolvida no Netbeans 5.5.1, quando o usuário clica em uma linha eu capturo o clique para em minha função apagar a referida linha com
GradeMouseClicked
No micro de desenvolvimento está rodando legal, contudo em um micro onde o app irá rodar, as vezes a captura do clique funciona bem as vezes não funciona, eu clico como mouse e nada de funcionar.
Alguém tem alguma dica do que pode ocorrer?
P.S.: não dispara nenhum exceção.
P.S.2: Não sei se vai ajudar mas segue aí o meu código:
private void GradeMouseClicked(java.awt.event.MouseEvent evt) {
double peso = 0.00;
int codigo = 0;
int maquina = 0;
int produto = 0;
List<Boolean> controleList = new ArrayList<Boolean>();
for(int index = 0; index < modelo.getRowCount(); index++){
if(((Boolean)modelo.getValueAt(index, 1)).booleanValue()){
controleList.add((Boolean)modelo.getValueAt(index, 1));
}
}
for(int index = 0; index < modelo.getRowCount(); index++){
if(((Boolean)modelo.getValueAt(index, 1)).booleanValue()){
peso = (Double)modelo.getValueAt(index, 0);
codigo = codigoList.get(index).intValue();
maquina = maquinaList.get(index).intValue();
produto = produtoList.get(index).intValue();
}
}
if(controleList.size() == 1){
int i = JOptionPane.showConfirmDialog(
null,
"Deseja realmente apagar a leitura \n" +
"de peso selecionada?",
"Apagar leitura de peso",
JOptionPane.OK_CANCEL_OPTION);
if(i == JOptionPane.YES_OPTION){
//Processo de delete no banco de dados.
try{
conexao.abrirConexao();
conexao.setDelete("delete from amostragem_medicao where amo_codigo = " + codigo +
" and ame_peso = " + peso);
conexao.preparaDelete();
conexao.executeDelete();
conexao.setDelete("delete from amostragem where amo_codigo = " + codigo +
" and cod_aca = " + produto +
" and cod_maquina = " + maquina);
conexao.preparaDelete();
conexao.executeDelete();
conexao.fecharBanco();
for(int index = 0; index < modelo.getRowCount(); index++){
if(((Boolean)modelo.getValueAt(index, 1)).booleanValue()){
modelo.removeRow(index);
}
}
contador--;
}catch(FileNotFoundException fnfe){
JOptionPane.showMessageDialog(null,
"Configuração do Banco de Dados não encontrada." + fnfe,
"Erro!",
JOptionPane.ERROR_MESSAGE);
}catch(IOException ioe){
JOptionPane.showMessageDialog(null,
"Erro na abertura de arquivo de configuração." + ioe,
"Erro!",
JOptionPane.ERROR_MESSAGE);
}catch(ClassNotFoundException cnfe){
JOptionPane.showMessageDialog(null,
"Erro de classe não identificada." + cnfe,
"Erro!",
JOptionPane.ERROR_MESSAGE);
}catch(SQLException sqle){
JOptionPane.showMessageDialog(null,
"Erro de SQL." + sqle,
"Erro!",
JOptionPane.ERROR_MESSAGE);
}
}else{
//Cancelar processo de delete no banco de dados (retorna boolean para false).
for(int index = 0; index < modelo.getRowCount(); index++){
boolean valor = (Boolean)modelo.getValueAt(index, 1);
if(valor == true){
modelo.setValueAt(false, index, 1);
}
}
}
}
}