Brauchen Sie Hilfe? Dies mag eher eine Designperspektive sein, aber ich benutze dieses Muster überall in meiner Anwendung, wollte also eine Idee bekommen.JavaFX. Greifen Sie auf die Daten eines Controllers von einem anderen Controller zu
Beispiel Screenshot beigefügt. http://imgur.com/a/fuD5D
Meine Frage: Ich habe eine BorderPane die Art von Stammcontainer in meinem Fall ist (RootBorderPane.fmxl, RootBorderPaneController.java). Die Ansicht wurde mithilfe des Szenenerstellers erstellt. Ich werde die linke Seite als Navigationsleiste verwenden und basierend auf der Auswahl auf der linken Seite, werde ich eine neue Ansicht in den zentralen Bereich der RootBorderPane laden. Ich habe andere Ansichten wie diese (View1.fxml, View2.fxml, View3.fxml etc) (entworfen mit Szene-Builder) und entsprechende Controller (View1Controller.java, View2Controller.java, View3Controller.java usw.). View1, View2, View3 enthält TableViews für sich. Jetzt habe ich einige Tasten (Button1, Button2, Button3 etc) in der RootBorderPane der linken Seite und wenn ich Button1 und dann ich meine View1 (View1.fxml) laden und setzen Sie es im RootBorderPane Center-Bereich.
Ich klickte auf "Button1", auf der Schaltfläche klick ich lud die View1 und legte es auf das Zentrum des RootBorderPane. Diese Logik befindet sich im RootBorderPaneController.java View1 enthält ein TableView und die Daten für die Tabellenansicht werden geladen und auf der initialisierbaren() Methode des View1-Controllers (View1Controller.java) gesetzt. Ich bin in der Lage, alle oben genannten zu erreichen.
Problem: Ich habe Hinzufügen und Löschen im Navigationsbereich und diese Tasten sollten aktiviert/deaktiviert werden basierend auf dem Datensatz in der View1 der Tabellenansicht ausgewählt. (Die Schaltfläche Löschen sollte aktiviert sein, wenn in der Tabellenansicht ein Datensatz ausgewählt wurde, andernfalls sollte die Schaltfläche Hinzufügen nicht aktiviert sein)
Direkt oder indirekt ist meine Frage der Zugriff auf einen Controller von einem anderen Controller. Gibt es einen eleganten Design-Ansatz, um dies zu tun, anstatt die Referenz von einem Controller in dem anderen Controller zu behalten.
Vielen Dank im Voraus
Siehe http://stackoverflow.com/questions/32342864/applying-mvc-with-javafx –