Bom dia pessoal,
Tenho uma tabela (JTable) onde criei uma classe que cuida dos componentes da célula como segue abaixo:
public class EditarCelulaTabelaVendaProduto extends AbstractCellEditor implements TableCellEditor{
JTextField componente = new JTextField();
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column ) {
if (isSelected){
componente.setText(value.toString());
componente.selectAll();
}
return componente;
}
public Object getCellEditorValue() {
return componente.getText();
}
}
e utilizo essa classe da seguinte maneira:
EditarCelulaTabelaVendaProduto editor = new EditarCelulaTabelaVendaProduto();
TableColumn tcQuantidade = tbVendaProduto.getColumnModel().getColumn(2);
tcQuantidade.setCellEditor(editor);
até aqui tudo bem funciona corretamente.
Ai eu digito um valor na célula, aperto o enter e vou assim digitando os valores nas células.
O problema é … depois que eu digito um valor na célula e clico com o mouse em qualquer outra célula, a mesma é preenchida com o ultimo valor digitado automaticamente, ou seja, o valor que esta na célula some e é inserido o valor da ultima celula digitada.
Quando eu clico com o mouse a célula entra automaticamente no modo de edição do componente que esta nela.
Como eu posso fazer para somente selecionar a célula clicada e não entrar no modo de edição do componente dela?
Grato.