PDA

View Full Version : [Java] Problema su modifica contenuto cella di una tabella


Fire Fox II
18-02-2013, 15:10
Salve raga

ho una tabella con celle editabili che alla pressione del tasto ENTER dovrebbero inviare una stringa per la modifica del database...


@Override
public void keyPressed(KeyEvent evt){
if(evt.getKeyCode()== KeyEvent.VK_ENTER){
System.out.println(tabella.getValueAt(tabella.getSelectedRow(), tabella.getSelectedColumn()));
}
}


Il problema è che alla pressione del tasto ENTER mi viene visualizzato il valore precedente al nuovo testo immesso...

Come dovrei risolvere?

Thanks

sottovento
19-02-2013, 04:35
Salve raga

ho una tabella con celle editabili che alla pressione del tasto ENTER dovrebbero inviare una stringa per la modifica del database...


@Override
public void keyPressed(KeyEvent evt){
if(evt.getKeyCode()== KeyEvent.VK_ENTER){
System.out.println(tabella.getValueAt(tabella.getSelectedRow(), tabella.getSelectedColumn()));
}
}


Il problema è che alla pressione del tasto ENTER mi viene visualizzato il valore precedente al nuovo testo immesso...

Come dovrei risolvere?

Thanks

Beh si, se intercetti Enter ovviamente avrai il valore precedente.
Se usi il solito DefaultTableModel come modello per la tua tabella (o, in generale, un modelo che implementa AbstractTableModel), potresti utilizzare la

public void addTableModelListener(TableModelListener l)

cosi' il tuo listener verra' automaticamente chiamato

Fire Fox II
19-02-2013, 10:49
Ti ringrazio per il consiglio...

Purtroppo il tuo consiglio sarebbe stato corretto ma la mia domanda non era esauriente...
Una volta inviato il parametro al database, dovevo aggiornare la cella con un nuovo valore, quindi con un addTableModelListener andava in loop...

Ho risolto con un "semplice" keyReleased

Thanks :)