H
hippo
Gast
Hallo zusammen,
ich programmiere gerade an einer Notenverwaltung. Jetzt habe ich einige Anfoderungen an meine JTable Notentabelle bei denen ich nicht weiterkomme:
Die Notentabelle sollte folgende Features haben:
- bei Eingabe einer neuen Note, die alte löschen (alter Wert 2 => Eingabe einer 1 => 21 so nicht!)
- Wird die neue Eingabe mit CR abgeschlossen, den Fokus auf die nächste Aufgabe des Schülers setzen (nicht nach unten => nach links)
- Navigation mit den Cursortasten (geht jetzt schon) => die aktuelle Zeile kennzeichnen, indem nur die Namen grün hinterlegt werden
Wer kann mir weiterhelfen?
Gruß Stefan
ich programmiere gerade an einer Notenverwaltung. Jetzt habe ich einige Anfoderungen an meine JTable Notentabelle bei denen ich nicht weiterkomme:
Die Notentabelle sollte folgende Features haben:
- bei Eingabe einer neuen Note, die alte löschen (alter Wert 2 => Eingabe einer 1 => 21 so nicht!)
- Wird die neue Eingabe mit CR abgeschlossen, den Fokus auf die nächste Aufgabe des Schülers setzen (nicht nach unten => nach links)
- Navigation mit den Cursortasten (geht jetzt schon) => die aktuelle Zeile kennzeichnen, indem nur die Namen grün hinterlegt werden
Wer kann mir weiterhelfen?
Gruß Stefan
Code:
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
public class TestTable extends JTable {
public class TestTableModel extends AbstractTableModel {
String[] columnNames = { "Name", "Vorame", "A1", "A2", "A3" };
Object[][] data = { { "Mustermann", "Max", new Integer(4), new Integer(5), new Integer(10) },
{ "Kaiser", "Franz", new Integer(0), new Integer(3), new Integer(2) } };
public int getColumnCount() {
return 5;
}
public int getRowCount() {
return 2;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public boolean isCellEditable(int row, int col) {
return col > 1;
}
}
public TestTable() {
this.setModel(new TestTableModel());
}
public static void main(String[] args) {
JFrame fr = new JFrame();
fr.setContentPane(new TestTable());
fr.setPreferredSize(new Dimension(250, 150));
fr.pack();
fr.setVisible(true);
}
}