Announcement

Collapse
No announcement yet.

JTable mit eigenen CellEditor und CellRenderer

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JTable mit eigenen CellEditor und CellRenderer

    Habe folgendes Problem !

    Habe einen Renderer mit einer selbstgeschriebenen SpinBox drauf.
    Dieser Renderer wird nun in jeder Zelle meiner Tabelle mit dieser SpinBox(kann man Werte von 0-99 einstellen) angezeigt. Nun will ich aber auch den
    Value (also den eingestellten Wert) der spinBox abfragen und da habe ich
    noch Probleme.
    Eigentlich muss ich ja jede Zelle nach der Wert der SpinBox fragen ?

    Hat jemand eine Idee ???

    Ciao Andreas

  • #2
    Hi Andreas,<br>
    irgendwie verstehe ich das Problem nicht ganz. Wenn Deine <br>
    selbst gebaute SpinBox (die es ab JDK1.4 übrigends als Swing- <br>
    Komponente gibt), als CellRenderer und als CellEditor benutzt<br>
    wird, dann muss sie ja das CellEditor-Interface implementieren,<br>
    also z.B. von javax.swing.AbstractCellEditor (JDK1.3) abgeleitet sein. <br>
    Irgendwo in dieser abgeleiteten Klasse, d.h. in deinem Custom<br>
    Editor müsste es sowas wie
    <code>
    Object getCellEditorValue(); und
    setCellEditorValue(Object o)
    </code> geben.
    Die letzte Methode wird von <code>stopCellEditing()</code> aufgerufen,<br>
    und sie fragt den Wert Deiner spinBox ab, also z.B. <br>
    <code>
    public boolean stopCellEditing() {
    SpinBox spinBox = renderer.getSpinBox(); // get editing component
    setCellEditorValue(new Integer(spinBox.getValue()));
    return super.stopCellEditing(); // fire change event to listeners
    }
    </code>
    Damit wird der Wert der eingestellten SpinBox für die editierte<br>
    Zelle abgefragt und an JTable gesendet.
    <p>
    Klau

    Comment


    • #3
      Ich danke Dir auf jeden Fall und werde das sofort mal so machen !

      Danke Andrea

      Comment


      • #4
        Hallo Andreas,<br>
        weitere Infos zu Custom Cell Editors findest Du u.a. in<br>
        http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#editrender. Dort gibt es auch einen Hinweis auf die seit JDK1.3 <br>
        existierende Klasse javax.swing.AbstractCellEditor.
        <p>
        Klau

        Comment

        Working...
        X