2017-11-13 4 views
1

Also ich bin neu in JavaFX und von allen Tutorials, die ich gesehen habe und Apps, die ich codiert habe, ist die gesamte Ansicht in der FXML-Datei erstellt.Hinzufügen von FXML-Datei in ControlsFX Popup

Ich stieß auf ControlsFX und ich versuche, die Popup-Funktion darin zu implementieren. Meine Frage ist hier; Wie stelle ich alle Komponenten innerhalb einer Komponente so ein, dass sie von einer externen FXML-Datei geladen werden?

Dies ist, was ich selbst versucht, aber kann es nicht arbeiten:

PopOver popOver = new PopOver(); 
    popOver.setArrowLocation(PopOver.ArrowLocation.RIGHT_CENTER); 
    popOver.setContentNode(new Label("Test")); 
    popOver.setAutoFix(true); 
    popOver.setAutoHide(true); 
    popOver.setHideOnEscape(true); 
    popOver.setDetachable(false); 

    Node content = null; 

    FXMLLoader fxmlLoader = new FXMLLoader(); 
    content = (Parent) fxmlLoader.load(getClass().getResourceAsStream("new.fxml")); 
    popOver.setContentNode(content); 

    popOver.show(new_button); 

Antwort

0

Okay, ich dachte, eine Lösung aus gerade falls es jemand in der Zukunft helfen könnte.

BorderPane p = FXMLLoader.load(getClass().getResource("new.fxml")); 
popOver.setContentNode(p); 
popOver.show(new_button); 
+1

Bitte erklären Sie, warum das funktionierte, wenn Ihr vorheriger Code nicht funktionierte (hilft wahrscheinlich auch in der Frage zu erklären, was "nicht funktioniert" bedeutet). Es wird nicht für andere Benutzer hilfreich sein, es sei denn, es ist klar, was das eigentliche Problem ist, das behebt. –

Verwandte Themen