Salve galera…
Eu tenho um JDialog que possui uma JTable, adicionei a uma coluna da JTable valores Boolean com CheckBox…Ate aqui td bem, consigo pegar os valores True e False, mas preciso tirar uma duvida com vcs.
Criei um metodo chamado calculaGrid() que faz o calculo das linhas que estao com status True, mas quero fazer uma subtracao qdo for False e isso naum ta funcionando, adicionei ao Evento MouseReleased para fazer a subtracao, nao tive resultados, tbm testei em outros eventos e msm assim sem resultados.
Vejam meu codigo…
//metodo que invoco qdo marco o CheckBox da JTable como True.
public void calculaGrid(){
double total = 0;
double valor = 0;
for(int x = 0; x < tabelaFechamento.getRowCount(); x++){
Boolean verdadeiros = (Boolean)tabelaFechamento.getValueAt(x, 6); //coluna onde esta os checkbox
if(verdadeiros != null){
String valorTabela = (String)tabelaFechamento.getValueAt(x, 5);
valor = Double.parseDouble(valorTabela.replaceAll("\\.", "").replace(",","."));
total = total + valor;
}
}
if(total > 0){
valorBruto.setText(formataNr.format(total));
valorLiquido.setText(formataNr.format(total));
}
}
//metodo que quero fazer o recalculo caso seja CheckBox igual a False
public void recalculaGrid(){
double total = 0;
Boolean verdadeiro = (Boolean)tabelaFechamento.getValueAt(tabelaFechamento.getSelectedRow(), 6);
if(verdadeiro == false) {
String valorTabela = (String)tabelaFechamento.getValueAt(tabelaFechamento.getSelectedRow(), 5);
double valor = Double.parseDouble(valorTabela.replaceAll("\\.", "").replace(",", "."));
double valorB = Double.parseDouble(valorBruto.getText().replaceAll("\\.", "").replace(",", "."));
total = valorB - valor;
valorBruto.setText(formataNr.format(total));
System.out.println(total);
}
}
//aqui qdo o mouse eh Clicked chama calcula grid e se for True faz os calculos
private void tabelaFechamentoMouseClicked(java.awt.event.MouseEvent evt) {
calculaGrid();
}
//aqui qdo o mouse eh Released chama recalcula grid e refaz os calculos caso seja False
private void tabelaFechamentoMouseReleased(java.awt.event.MouseEvent evt) {
recalculaGrid();
}
O metodo calculaGrid() esta funcionando blzinha, no evento MouseClicked mas o metodo recalculaGrid() no MouseReleased qdo mando preencher o JTextField com o valor não preenche, mas no System.out.println(total); eh exibido normalmente, não sei o pq de não estar preenchendo o JTextField.
Alguma sugestao ???