Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Java TableCellEditor TableCellRenderer

  1. #1
    Registrierter Benutzer
    Registriert seit
    03.04.2002
    Beiträge
    112

    Java TableCellEditor TableCellRenderer

    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
    Verteilt die Macht, dass sie keinen mächtig macht!

  2. #2
    Registrierter Benutzer
    Registriert seit
    03.04.2002
    Beiträge
    112
    Mit dem Renderer, das habe ich nun halbwegs hinbekommen, muss dafür aber das AbstractTableModel statt dem DefaultTableModel verwenden, was evtl generell besser ist...?!

    Naja. (nur eine Zwischenmeldung )
    Verteilt die Macht, dass sie keinen mächtig macht!

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von Matflasch
    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
    Das könnte mit einem Formatter Object gehen, zB einem java.text.SimpleDateFormat


    Alternativ könnte man eine Component machen, die drei JSpinner in einer horizontalen Box hält

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •