JavaFX TreeView dynamisch aus Datenbank Tabelle erstellen

Bitte aktiviere JavaScript!
Das ist tatsächlich etwas unschön .. daran hab ich gar nicht gedacht.
Lösungsvorschlag: Anstatt auf die Änderung im selectionModel zu hören, kannst du bei jedem Item einen MOUSE_CLICKED Eventfilter setzen. Der Code müsste dazu wie folgt angepasst werden:
Java:
tree.setCellFactory(param -> {
    TreeCell<Entry> cell = new TreeCell<>() {
        @Override
        protected void updateItem( Entry item, boolean empty ) {
            super.updateItem(item, empty);
            if ( !empty ) {
                String text = item.getSid().isEmpty() ? item.getVersion() : String.format("%s:Path#%s:SERVEROS#%s", item.getSid(), item
                        .getPatch(), item.getServeros());
                setText(text);
            } else {
                setText(null);
                setGraphic(null);
            }
        }

    };
    cell.addEventFilter(MouseEvent.MOUSE_CLICKED, event -> {
        if (!cell.getItem().getSid().isEmpty() ) {
            Entry item = cell.getItem();
            System.out.println(String.format("%s:Path#%s:SERVEROS#%s", item.getSid(), item.getPatch(), item.getServeros()));
        }
    });
    return cell;
});
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Hallo Robat,

und noch einmal VIELEN DANK! So funktioniert es auch beim 2. Click ohne den Tree erneut zu schließen/öffnen :)
Ich schaue mir den Code Morgen noch einmal in Ruhe an und werde versuchen es im Detail zu verstehen - prinzipiell ist es mir klar, ggf. frage ich dann noch im Detail. Was ich mir auf jeden Fall noch im Detail, incl. Übungen, anschauen muss sind Lambda Expression .. da fehlt mir noch das Grundwissen o_O

Gruß

Ralf
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben