JXTreeTable mit Checkbox

Alexius

Mitglied
Tag zusammen,

ich schlag mich schon seit tagen mit JXTreeTable rum und hab jetzt fast das was ich haben wollte erreicht. Fast! Nun muss ich noch eine checkbox-spalte in meine tabelle hinzufügen und genau hier happerts auch. Im prinzip weiss ich nicht so genau wo ich da anfangen muss. Habe lange nach einer schritt für schritt anleitung gesucht, hab aber leider nichts gefunden.
Nun wollte ich hier mal nachfragen, ob jemand von euch sich schon mal mit JXTreeTable beschäftigt hat und mir ein paar tipps oder besser ein link zu so nem tutorium geben kann. ich habe schon ein paar beispiele gefunden, das sind aber nur so bruchstücke wo man nur copy-paste machen kann und hofft das es dann funktioniert. da ich es aber verstehen und selber machen will, hilft mir das auch nicht weiter.

für soldatensichere tipps und links bin ich sehr dankbar.
 

mla.rue

Bekanntes Mitglied
Schritt für Schritt .... Tutorial.... viel Glück, wenn was findest, sag mir bitte bescheid :).

Wie auch immer, die reguläre Tabelle hat eine Checkbox in einer Zelle, wenn die Spalte nur die Werte true/false aufnehmen kann, auch ohne dass man da etwas noch rumbastelt. Da JXTreeTable für die Spalten von der Tabelle erbt, könnte es wohl auch so gehen.
 

Alexius

Mitglied
sodale, nun hab ich es endlich mal geschaft, die CheckBox-spalte is nun da.
und da hab ich mein nächstes problem und zwar kann ich die checkbox nicht editieren.

Hier sind meine zwei klassen, MyTreeTable und TreeTableModel. Vlt mach kann mir da jemand sagen was ich falsch mache, und vor allem wieso ich checkbox die bei mir in "Spalte 3" angezeigt wird, nicht editieren kann.

Java:
public class MyTreeTable extends JXTreeTable
{
    private static final long serialVersionUID = 1L;
    private JScrollPane m_ScrollPane = null;
    private JXTreeTable treeTable = null;
    private TreeTableModel treeModel = null;
    
    public Component getScrollPaneDriverTable()
    {
        if (m_m_ScrollPane == null)
        {
            m_ScrollPane = new JScrollPane(getDriverTable());
            m_ScrollPane .getViewport().setBackground(Color.white);
        }
        return m_DriverScrollPane;
    }

    public JXTreeTable getTable()
    {
        if (treeTable == null)
        {
            treeTable = new JXTreeTable();
            treeTable.setColumnSelectionAllowed(true);


            if (treeModel == null)
            {
                treeModel = new TreeTableModel();
                List<String> l = new ArrayList<String>();
                l.add("<html>Spalte 1");
                l.add("<html>Spalte 2");
                l.add("<html>Spalte 3");
                treeModel.setColumnIdentifiers(l);
                treeTable.setTreeTableModel(treeModel);
                treeTable.setPreferredScrollableViewportSize(new Dimension(500, 250));
                treeTable.setCellSelectionEnabled(true);
                treeTable.getTableHeader().setReorderingAllowed(false);
                treeTable.setRowSelectionAllowed(true);
                treeTable.setRowSelectionAllowed(true);
            }
        }
        return treeTable;
    }
}


public class TreeTableModel extends DefaultTreeTableModel
{
    public class Zeile
    {
        private String name;
        private Boolean gewaehlt;

        public Zeile(final String name, final Boolean gewaehlt)
        {
            this.name = name;
            this.gewaehlt = gewaehlt;
        }

        public String getName()
        {
            return name;
        }

        public void setName(final String name)
        {
            this.name = name;
        }

        public Boolean getGewaehlt()
        {
            return gewaehlt;
        }

        public void setGewaehlt(final Boolean gewaehlt)
        {
            this.gewaehlt = gewaehlt;
        }
    }

    public TreeTableModel()
    {
        super(new DefaultMutableTreeTableNode());
        initialize();
    }

    public void initialize()
    {
        this.root = new DefaultMutableTreeTableNode();
        
         DefaultMutableTreeTableNode parent = new DefaultMutableTreeTableNode("root");
         ((AbstractMutableTreeTableNode) this.root).add(parent);
         
         DefaultMutableTreeTableNode child = new DefaultMutableTreeTableNode(new Zeile("parent1", false));
         parent.add(child);

         DefaultMutableTreeTableNode child2 = new DefaultMutableTreeTableNode(new Zeile("parent2", true));
         parent.add(child2);

         DefaultMutableTreeTableNode child2_1 = new DefaultMutableTreeTableNode(new Zeile("cccc", false));
         child2.add(child2_1);
    }

    @Override
    public Object getValueAt(final Object node, final int column)
    {
        Object res = "";
        if (node instanceof DefaultMutableTreeTableNode)
        {
            DefaultMutableTreeTableNode defNode = (DefaultMutableTreeTableNode) node;
            if (defNode.getUserObject() instanceof Zeile)
            {
                Zeile drvObj = (Zeile) defNode.getUserObject();
                switch (column)
                {
                    case 2:
                        res = drvObj.getGewaehlt();
                        break;
                    default:
                        res = drvObj.getName();
                }
            }
        }
        return res;
    }

    @Override
    public Class<?> getColumnClass(final int column)
    {

        if (column == 2)
        {
            return Boolean.class;
        }
        return super.getColumnClass(column);
    }

    @Override
    public boolean isCellEditable(final Object node, final int column)
    {
        if (column == 2)
        {
            return true;
        }
        return super.isCellEditable(node, column);
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M JXTreeTable: Spaltengröße läßt sich nicht mehr festlegen AWT, Swing, JavaFX & SWT 0
T SelectAll bei JXTreeTable Editor AWT, Swing, JavaFX & SWT 2
T JXTreeTable mit Klick auf TreeNode erweitern AWT, Swing, JavaFX & SWT 12
L DefaultTableCellRenderer (JXTreeTable) AWT, Swing, JavaFX & SWT 7
S Bitte um ein Beispiel von JXTreeTable AWT, Swing, JavaFX & SWT 12
P Selektion in JXTreeTable von SwingX AWT, Swing, JavaFX & SWT 5
C JXTreeTable AWT, Swing, JavaFX & SWT 2
slawaweis JXTreeTable, jede Spalte einzeln scrollbar machen? AWT, Swing, JavaFX & SWT 2
G JXTreeTable und ActionListener? AWT, Swing, JavaFX & SWT 2
B JavaFX CheckBox mit ChangeListener AWT, Swing, JavaFX & SWT 1
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
J JavaFx TableView mit CheckBox AWT, Swing, JavaFX & SWT 4
karlmasutra Java FX Checkbox abfragen AWT, Swing, JavaFX & SWT 2
J SceneBuilder TableView Checkbox AWT, Swing, JavaFX & SWT 1
M JAVAFX Checkbox mit URL verlinkung AWT, Swing, JavaFX & SWT 4
A checkbox mit allen tabllen aus datenbank befüllen AWT, Swing, JavaFX & SWT 8
D JIDE TreeComboBox mit checkbox-en kombinieren AWT, Swing, JavaFX & SWT 2
K CheckBox Problem AWT, Swing, JavaFX & SWT 5
Developer_X Java JTable - Combobox + Checkbox - Cellrenderer + Editor AWT, Swing, JavaFX & SWT 3
F JTable mit Checkbox AWT, Swing, JavaFX & SWT 1
T SWT checkbox in table AWT, Swing, JavaFX & SWT 6
M JavaFX TableView mit CheckBox als Boolean AWT, Swing, JavaFX & SWT 5
Z DefaultTableModel + checkbox AWT, Swing, JavaFX & SWT 0
S Swing JTable zusätzliche Spalte mit einer Checkbox einfügen AWT, Swing, JavaFX & SWT 7
P Listenelemente über Checkbox löschen AWT, Swing, JavaFX & SWT 6
D Checkbox - Datenbankausgeben AWT, Swing, JavaFX & SWT 31
A Swing JTable benutzt keine Checkbox für Booleans AWT, Swing, JavaFX & SWT 9
M Swing Dropbox / Checkbox in JTable AWT, Swing, JavaFX & SWT 3
D SWT CheckBox auslesen (Window Builder Pro) AWT, Swing, JavaFX & SWT 2
A Swing Bug in Swing? Wenn checkbox disabled reagiert ActionListener nicht AWT, Swing, JavaFX & SWT 5
T disabled Checkbox soll trotzdem Focus bekommen AWT, Swing, JavaFX & SWT 9
C Checkbox-zustände in einem JFrame speichern AWT, Swing, JavaFX & SWT 8
C SWT CheckBox AWT, Swing, JavaFX & SWT 6
B Swing DefaultTableModel, Checkbox in Spalte AWT, Swing, JavaFX & SWT 4
C Checkbox in Liste deaktivieren und paintComponent explizit aufrufen AWT, Swing, JavaFX & SWT 12
N JTable RadioButton statt Checkbox AWT, Swing, JavaFX & SWT 4
Semox Swing Random Checkbox JApplet AWT, Swing, JavaFX & SWT 14
S Checkbox AWT, Swing, JavaFX & SWT 4
Z AWT Auf bestimmte Checkbox einer Checkboxgroup zugreifen AWT, Swing, JavaFX & SWT 3
C jtable checkbox in header / spaltenüberschrift AWT, Swing, JavaFX & SWT 4
T Sprachumstellung per Checkbox, Konzeptfrage AWT, Swing, JavaFX & SWT 16
O CheckBox in Jtable - Listener darauf?? AWT, Swing, JavaFX & SWT 3
W ButtonGroup, Checkbox, A oder B oder gar nix AWT, Swing, JavaFX & SWT 3
T Checkbox in einer Tabelle AWT, Swing, JavaFX & SWT 10
G Checkbox AWT, Swing, JavaFX & SWT 7
A Checkbox-Choice Eventproblem (CMV) AWT, Swing, JavaFX & SWT 2
T Checkbox & Textfield AWT, Swing, JavaFX & SWT 5
S Checkbox oder String in JTable-Spalte AWT, Swing, JavaFX & SWT 4
L Checkbox in Tabelle AWT, Swing, JavaFX & SWT 6
G Checkbox, die eine Endlosschleife ausführt AWT, Swing, JavaFX & SWT 3
R CheckBox drücken, sodass eine Aktion ausgeführt wird AWT, Swing, JavaFX & SWT 5
F Häkchen erscheint nicht bei anklicken von Checkbox in JTable AWT, Swing, JavaFX & SWT 4
T Doppelte Abfrage eine Checkbox vermeiden AWT, Swing, JavaFX & SWT 2
F Checkbox transparent machen ? AWT, Swing, JavaFX & SWT 2
N TableModel mit CheckBox? AWT, Swing, JavaFX & SWT 5
D [JList]Checkbox einbinden ? AWT, Swing, JavaFX & SWT 3
L Checkbox in JTable (again), bei true Daten in Header AWT, Swing, JavaFX & SWT 7
F JTable mit Checkbox macht Probleme AWT, Swing, JavaFX & SWT 4
C Aktion nach Auswahl einer Checkbox AWT, Swing, JavaFX & SWT 6
W CheckBox in Jtree AWT, Swing, JavaFX & SWT 6
G Bild als Checkbox bzw gerasteten Button? AWT, Swing, JavaFX & SWT 3
J jTable + jTextarea & checkbox AWT, Swing, JavaFX & SWT 6
V CheckBox in Tabelle zeichnen AWT, Swing, JavaFX & SWT 2
D CheckBox ändert Status nur, wenn sie FocusOwner ist AWT, Swing, JavaFX & SWT 2
C commando mit checkbox AWT, Swing, JavaFX & SWT 5
T selected checkbox AWT, Swing, JavaFX & SWT 2
T Checkbox AWT, Swing, JavaFX & SWT 10
N Checkbox mit mehreren Strings belegen? AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben