Alguem conhece algum envento no Jtable que retorne o momento em que o usuario terminou de editar uma celula da Jtable?
Ex.
O usuario entra em uma celula e Altera o seu conteudo. Quando ele precionar ENTER. A celula vai perder o foco.
Eu gostaria de executar uma funcao no momento em que essa determinada celula perdese o foco.
Andei dando uma procurada por LostFocus da celula do Jtable mas nao estou obtendo mto sucesso.
Se alguem puder me ajudar! Dica, Codigo, Tudo Vale!.
…
No vb2005 existe um evento do Grid Chamado EndEdit. Que é bem oque eu procuro.
Mas nao sou mais da Microsoft. Preciso disso para JAVA.
Estou meio sem tempo, desculpe… Mas dê uma pesquisada sobre TableModel, TableModelListener e TableModelEvent. Acho que temos um caminho promissor por aqui…
//Essa Classe interna serve para Dizer quando a celula foi alterada e o seu respectivo valorpublicclassEditarCelulaTabelaextendsAbstractCellEditorimplementsTableCellEditor{// Este é o componente que vai segurar o valor da edicao da celulaJComponentcomponent=newJTextField();//Este metodo é chamado quando a celula é editada pelo usuario. publicComponentgetTableCellEditorComponent(JTabletable,Objectvalue,booleanisSelected,introwIndex,intvColIndex){//'value'é o valor contido na celula que esta na localizacao ((rowIndex, vColIndex)if(isSelected){// Celula (e talvez outras celulas) sao selecionadas}// Configura o componente com o valor Especificado((JTextField)component).setText((String)value);// Retorna a configuracao do componentereturncomponent;}// Esse metodo é chamado quando é Terminado de Editar a Celula// Ela retorna o novo valor da Celula.publicObjectgetCellEditorValue(){//Chama a funcao insert update da Tabela1 e passa o valor do da celulaAlteraAssociado(((JTextField)component).getText());//System.out.println(((JTextField)component).getText()); return((JTextField)component).getText();}}
Como eu utilizo um modelo para inclementar a minha Jtable eu faço Digo logo apos fazer o Tabela.setModel, Quais colunas entrarao nao minha classe.
Tabela1.setModel(MeuModelo);
TableColumn col = Tabela1.getColumnModel().getColumn(1);
col.setCellEditor(new EditarCelulaTabela());