Assunto resolvido
Resolvido
Estava falando de TableModel.
Na verdade, o ideal é que você não chame diretamente o método getValueAt. Esse método devia ser exclusividade do Java, e só usado na hora de desenhar o JTable. O ideal é que você faça um tablemodel próprio, e esse model tenha um método get, que te retorna a classe que a tabela está desenhando.
Veja um exemplo em:
http://www.guj.com.br/posts/list/132698.java#714736
Isso não só deixará o código mais simples, rápido e ocupando menos memória, como também evitará casts. Além disso, evita que seu programa tenha que ser modificado caso alguma coluna seja adicionada ou retirada do JTable.
Eu queria colocar esta questão como resolvido, mas não esta dando certo.
É só colocar [RESOLVIDO] na frente do assunto não é?Pois se for fiz não deu certo
Faça assim:
- Vá no seu primeiro post;
- Clique em editar;
- Coloque [Resolvido] na frente do assunto;
- Clique em enviar.
Eu fiz desse jeito e meu sistema continua imprimindo a mensagem Erro ao calcular Total Produtos: null
Obs: Os campos estão preenchidos, não tem nenhum campo vazio na tabela.
[code]Double soma = null;
try{
for (int i = 1 ; i < getTabela().getRowCount()-1 ; i++) {
Double valorAux = (Double)(getTabela().getValueAt(i,4));
soma+= valorAux.doubleValue();
}
getTotal().setText(soma.toString());
}
catch(Exception e){ JOptionPane.showMessageDialog(null,"Erro ao calcular Total Produtos: "+e.getMessage());
}[/code]
Alguém ai pode me dizer o que eu fiz errado ?
Troque para:
catch(Exception e){
JOptionPane.showMessageDialog(null,"Erro ao calcular Total Produtos: "+e.getClass().getSimpleName() + ":" + e.getMessage());
}
E aí conte-nos o que veio escrito.
Descobri, na verdade o problema era o seguinte … o numero de linhas da tabela era maior que o numero de linhas preenchidas entao, ele sempre pegava valores null.
Resolvi adicionando linhas dinamicamente
((DefaultTableModel)jTable1.getModel()).addRow(new Vector());
Cara eu fiz esse metodo e funcionou.
private String CalculaTotal() {
Double Orcamento = 0.0;
for ( int i = 0; i < jTabExames.getRowCount(); i++){
Orcamento += Double.parseDouble( jTabExames.getValueAt(i, 3).toString());
}
return Orcamento.toString();
}
ei eu coloco
LabelTotal.setText(CalculaTotal())
;
Alo pesoal to a pasar mal pesso a vossa ajuda. Eu trnho uma tabela com dil preco l quantidade l total gostaria de pegar os dados do coluna preco multiplicar pelos dados da culuna quantidade nas linhas corespondentes como farei isso?
Eu nao pertendo colocar num lebol nem numa fild eu quer colocar na mesma tabela mas numa outra xoluna
Pexoal elhem o codigo.
Void calculadif(){
Int cont =jttabela.getRowCAunt();
float mvd=0, cheq=0;
for(int i=0; i<cont; i++){
Oject valorcheq=jttabela.getvalueAt(i,1);
Object Valorvd=jttabela.getvalueAt(i,2);
String cheq= String.valurOf(valorcheq);
String vd= String.valurOf(valorvd);
mcheq=Float.parseFloat(cheq);
mvd=Float.parseFloat(vd);
Obgect retorna = (mcheq-mvd);
Jttabela.setValueAt(retorna, i, 3);
}}
Com system.out.println(rerorma ); mostra o resultado sertingo so nao consigo jogar ixo na nha tabela