Originariamente inviato da Rubox
Vorrei fare in modo che quando clicco su una cella per modificarla, questa appaia con il testo presente selezionato, così che appena scrivo qualcosa, il testo vecchio venga sostituito da quello nuovo.
Estendi JTable e fai l'override del metodo prepareEditor():
codice:
class MyTable extends JTable {
// Metti il o i costruttori che ti interessano ....
public Component prepareEditor(TableCellEditor editor, int row, int column) {
Component c = super.prepareEditor(editor, row, column);
if (c instanceof JTextComponent) {
JTextComponent t = (JTextComponent) c;
t.selectAll();
}
return c;
}
}
Se sei su una cella selezionata (non in edit!) e digiti qualcosa, sovrascrive tutto il contenuto (perché il selectAll() sopra ha selezionato tutto).