Ciao a tutti,
ho questa Jtable con un listener. A questa, associo un contatore che verrà incrementato di uno ogni volta che viene inserito un nuovo dato in una cella. Questo contatore, però, vorrei che venga mostrato in una JTextField posizionato in basso alla JTable, ma riesco a far visualizzare solo il valore di default (cioè 0). Come faccio a far aggiornare la JTextField ogni volta che il contatore viene incrementato? Vi posto il codice:
Codice PHP:private int quantita = 0; //il contatore
//metodo tabella
public ProvaTabella2 () {
//imposto il gestore di layout del frame
super ("Vendita");
setLayout (new FlowLayout() );
DefaultTableModel data = new DefaultTableModel();
data.addColumn("Codice");
data.addColumn("Descrizione");
data.addColumn("Q.tà");
data.addColumn("Prezzo unitario");
data.addColumn("Totale");
data.setRowCount(10);
final JTable table = new JTable(data);
data.addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e) {
if(e.getType() == TableModelEvent.UPDATE) {
TableModel source = (TableModel)e.getSource();
int row = e.getFirstRow();
int col = e.getColumn();
Object value = source.getValueAt(row, col);
quantita++;
JOptionPane.showMessageDialog(table, quantita);
}
}
}
);
add(table);
campoQuantita = new JTextField(20);
campoQuantita.setEditable(false);
campoQuantita.setText(getQuantita() ); //il metodo getQuantita trasforma l'intero in stringa
add(campoQuantita);

Rispondi quotando
