Opa, minha dúvida é a seguinte:
Tenho um jTable produtos, e nessa jtable tenho uma coluna quantidade e outra coluna valor total, quero que quando o usuário digitar a quantidade e quando a celula perder o foco, automaticamente setar o valor total que será quantidade*preco.
Como faço isso?
Abraços.
boa tarde. Bem, vc deverá trabalhar com o evento addPropertyChangeListener.
Dentro do custrutor vai esse código:
[code]modelo = (DefaultTableModel) jTable1.getModel();
jTable1.setModel(modelo);
jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); //coloque isto dentro do contrutor
jTable1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {//toda ez que a tabela sofrer uma mudança este evento é chamado.
public void propertyChange(java.beans.PropertyChangeEvent evt) {
if(jTable1.getSelectedRow()>=0){// quando não tem nenhuma linha selecionada, esse método retorna -1.
int linha = jTable1.getSelectedRow();
int qtd = Integer.parseInt(modelo.getValueAt(linha, 0).toString());// coluna 0
double preco = Double.parseDouble(modelo.getValueAt(linha, 1).toString());//coluna 1
double total = qtd*preco;
modelo.setValueAt(total, linha, 2); //linha selecionada e coluna 3
}
}
});[/code]
dúvidas? 8)
walissongpi, muito obrigado!
Valeu mesmo!
aliás… to usando o defaultTableModel, agora vou começar a estudar a implementação da minha própria jTable com o ObjectTableModel.
Abraços, muito obrigado!
[quote=GabrielTom]walissongpi, muito obrigado!
Valeu mesmo!
aliás… to usando o defaultTableModel, agora vou começar a estudar a implementação da minha própria jTable com o AbstractTableModel.
Abraços, muito obrigado![/quote]
É isso aí. Sou meio lerdo com tabelas…
:roll: t+