Java Reference
In-Depth Information
jTableNoten.setModel(jTableNotenModel);
jTableNoten.getSelectionModel().addListSelectionListener(this);
}
Listing 15.10 Erstellung der JTable mit dem TableModel
Das abgeleitete MyDefaultTableModel mit dem ersten Datensatz und den Spaltennamen
wird initialisiert. Außerdem wird für das TableModel der TableModelListener registriert.
Für die Tabelle selbst wird außerdem ein ListSelectionListener registriert. Damit sind
die Voraussetzungen geschaffen, auf Änderungen der Tabellendaten und auf das Mar-
kieren von Tabellenzeilen zu reagieren. Zur Vervollständigung fehlen nur noch drei
kleine Methoden:
private void jBtnNeuActionPerformed(ActionEvent evt) {
try {
String t=jTFPruefungsart.getText();
intw=Integer.parseInt(jTFWichtung.getText());
doublen=Double.parseDouble(jTFNote.getText());
MyDefaultTableModel m =
(MyDefaultTableModel)jTableNoten.getModel();
m.addRow(new Object[]{t,new Integer(w),new Double(n)});
} catch (Exception e) {
e.printStackTrace();
}
}
Listing 15.11 Methode zum Hinzufügen einer neuen Note
public void tableChanged(TableModelEvent e) {
MyDefaultTableModel m = (MyDefaultTableModel) jTableNoten.getModel();
double schnitt = m.getNotengewichtet() / m.getGewichtung();
jLNotenschnitt.setText("Notenschnitt:"+df.format(schnitt));
jLSelectedNotenschnitt.setText("");
}
Listing 15.12 Methode als Reaktion auf eine Datenänderung
public void valueChanged(ListSelectionEvent arg0) {
int[] rows=jTableNoten.getSelectedRows();
if (rows.length > 0) {
MyDefaultTableModel m = (MyDefaultTableModel) jTableNoten.getModel();
Search WWH ::




Custom Search