grifis78
13-01-2010, 18:49
Ciao a tutti ragazzi,
innanzitutto mi scuso fin d'ora perchè la domanda, con ogni probabilità, presupporrà risposte complesse e quindi impossibili da effettuare; se così fosse, chiedo semplicemente un aiuto su dove trovare risorse utili alla questione essendo alle primissime armi con java.
Allora, sto cercando di creare una JTable ove ogni colonna ha una funzione diversa da svolgere: nella prima viene inserito un codice, premo invio, e con questi dati pesco un record da un database che verrà mostrato nella seconda colonna. Nella terza, inserisco invece un prezzo che salverò in una determinata variabile, ecc.
Quindim in generale, come faccio a specificare che una certa colonna svolga una funzione specifica?
Nella fattispecie, vorrei modificare il seguente codice che implementa soltanto un ascoltatore per l'evento di modifica di una cella mostrando un messaggio, ma, ovviamente, tutte le celle sono considerate uguali.
DefaultTableModel data = new DefaultTableModel();
data.addColumn("Nome");
data.addColumn("Cognome");
data.addColumn("Indirizzo");
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);
JOptionPane.showMessageDialog(table, value);
}
}
});
JScrollPane scroller = new JScrollPane(table);
JFrame window = new JFrame("Form");
window.add(scroller);
window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
window.pack();
window.setVisible(true);
Chi mi da qualche indicazione?
innanzitutto mi scuso fin d'ora perchè la domanda, con ogni probabilità, presupporrà risposte complesse e quindi impossibili da effettuare; se così fosse, chiedo semplicemente un aiuto su dove trovare risorse utili alla questione essendo alle primissime armi con java.
Allora, sto cercando di creare una JTable ove ogni colonna ha una funzione diversa da svolgere: nella prima viene inserito un codice, premo invio, e con questi dati pesco un record da un database che verrà mostrato nella seconda colonna. Nella terza, inserisco invece un prezzo che salverò in una determinata variabile, ecc.
Quindim in generale, come faccio a specificare che una certa colonna svolga una funzione specifica?
Nella fattispecie, vorrei modificare il seguente codice che implementa soltanto un ascoltatore per l'evento di modifica di una cella mostrando un messaggio, ma, ovviamente, tutte le celle sono considerate uguali.
DefaultTableModel data = new DefaultTableModel();
data.addColumn("Nome");
data.addColumn("Cognome");
data.addColumn("Indirizzo");
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);
JOptionPane.showMessageDialog(table, value);
}
}
});
JScrollPane scroller = new JScrollPane(table);
JFrame window = new JFrame("Form");
window.add(scroller);
window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
window.pack();
window.setVisible(true);
Chi mi da qualche indicazione?