Matflasch
07-10-2004, 10:09
Hi,
ich bin grad dabei rauszufinden, wie das mit dem TableCellEditor und dem TableCellRenderer funktioniert.
Ich möchste einen CombBox in eine Tabellenspalte packen und bekommen das nur so halb hin.
Ich habe eine Tabelle erstellt. Diese Tabelle benutzt ein DefaultTableModel. Wenn ich nun noch ein DefaultTableColumnModel für die Tabelle benutze, dann kann ich für die TabellenSpalte den CellEditor setzen. Dann sieht man zwar nicht, dass in dem Feld eine ComboBox ist, aber sobald man draufklickt, klappt diese aus.
Wenn ich das DefaultTableColumnModel weglasse, dann wird die ComboBox nicht benutzt. Das ist irgendwie blöd.
Desweiteren kommt noch ein Problem hinzu.
Wenn ich das DefaultTableColumnModel benutze, dann klappt es mit der ComboBox, aber ich kann nicht die Daten aus einem Feld auslesen, wenn dort keine drin sind. Die Daten aus der Tabelle sollen in eine Datenbank eingetragen werden. Wenn in den Feldern Werte stehen, dann klappt das auslesen auch, aber wenn das Feld leer ist, dann kann ich nicht mit getValueAt(x,y) den Wert auslesen, weder über die Table noch über das TableModel. 3 von 5 Feldern dürfen aber leer sein! Und nun?
Wenn ich das DefaultTableColumnModel nicht benutze, dann wird die ComboBox nicht angezeigt, aber der Wert kann ausgelesen werden...
Ich hatte bisher nur Tabellen mit dem DefaultTableModel benutzt.
Für den CellRenderer schreibe ich mir grad aber ne eigene Klasse (extends JComboBox implements TableCellRenderer).
Die Anleitungen von Sun & Co. waren für mich nicht sehr hilfreich.
Wie kann man nun am besten realisieren, dass dort die ComboBox verfügbar ist?
Und wenn ich grad schon bei dem Thema bin. Ein Feld soll die Eingabe einer Zeit ermöglichen. Bisher hatte ich es so eingeplant, dass die Zeit in Sekunden umgerechnet wird (von User), was ganz schön nervig und blöd ist.
Gibt es ne Möglichkeit, dass man eine Zeit eingeben kann?
In dem Format hh:mm:ss
Soweit erstmal, wird aber sicherlich noch mehr werden ;)
Mfg, Matflasch
ich bin grad dabei rauszufinden, wie das mit dem TableCellEditor und dem TableCellRenderer funktioniert.
Ich möchste einen CombBox in eine Tabellenspalte packen und bekommen das nur so halb hin.
Ich habe eine Tabelle erstellt. Diese Tabelle benutzt ein DefaultTableModel. Wenn ich nun noch ein DefaultTableColumnModel für die Tabelle benutze, dann kann ich für die TabellenSpalte den CellEditor setzen. Dann sieht man zwar nicht, dass in dem Feld eine ComboBox ist, aber sobald man draufklickt, klappt diese aus.
Wenn ich das DefaultTableColumnModel weglasse, dann wird die ComboBox nicht benutzt. Das ist irgendwie blöd.
Desweiteren kommt noch ein Problem hinzu.
Wenn ich das DefaultTableColumnModel benutze, dann klappt es mit der ComboBox, aber ich kann nicht die Daten aus einem Feld auslesen, wenn dort keine drin sind. Die Daten aus der Tabelle sollen in eine Datenbank eingetragen werden. Wenn in den Feldern Werte stehen, dann klappt das auslesen auch, aber wenn das Feld leer ist, dann kann ich nicht mit getValueAt(x,y) den Wert auslesen, weder über die Table noch über das TableModel. 3 von 5 Feldern dürfen aber leer sein! Und nun?
Wenn ich das DefaultTableColumnModel nicht benutze, dann wird die ComboBox nicht angezeigt, aber der Wert kann ausgelesen werden...
Ich hatte bisher nur Tabellen mit dem DefaultTableModel benutzt.
Für den CellRenderer schreibe ich mir grad aber ne eigene Klasse (extends JComboBox implements TableCellRenderer).
Die Anleitungen von Sun & Co. waren für mich nicht sehr hilfreich.
Wie kann man nun am besten realisieren, dass dort die ComboBox verfügbar ist?
Und wenn ich grad schon bei dem Thema bin. Ein Feld soll die Eingabe einer Zeit ermöglichen. Bisher hatte ich es so eingeplant, dass die Zeit in Sekunden umgerechnet wird (von User), was ganz schön nervig und blöd ist.
Gibt es ne Möglichkeit, dass man eine Zeit eingeben kann?
In dem Format hh:mm:ss
Soweit erstmal, wird aber sicherlich noch mehr werden ;)
Mfg, Matflasch