JavaFX JavaFX Splitpane - Zugriff auf die Controller der Elemente

Diskutiere JavaFX Splitpane - Zugriff auf die Controller der Elemente im AWT, Swing, JavaFX & SWT Bereich.
J

Joob

Ich habe ein Splitpane, in welches ich immer wieder die gleichen FXMLs einfüge.

Nun möchte ich über das Splitpane iterieren und dabei auf die Controller zugreifen.
Aber ich finde keinen Ansatz wie ich an die Elemente des Splitpanes komme
um dann mit getController den Controller zu bekommen
und dann aus einem bereits im Controller programmierten getter einen Wert auszulesen.

Kann mir vieleicht jemand auf die Sprünge helfen.


Code:
private String getTestResults () {
        
        int anzadapter = 0;
        
        anzadapter = splitpanevoks.getItems().size();
            for (int i = 0; i< anzadapter; i++) {
            
                System.out.println("Hier wäre die Controllerklasse cool : " + splitpanevoks.getItems().get(0));
          
            }
        
        return "";
    }
 
J

Joob

Um es etwa präziser zu beschreiben, ich möchte Zugriff auf das AnchorPane bekommen um dann den Controller anzusprechen
 
L

lam_tr

Wie hast du die Fxmls der splitpanevoks hinzugefügt? Oder anders gefragt, an welcher Stelle lädst du die Fxml?

wenn du über FxmlLoader#load machst, kannst du an der Stelle auch Fxml#getController machen.
 
J

Joob

Ja das habe ich auch so als Lösung gestern programmiert.

Aber es müsste doch auch mit einer Iteration über das Splitpane gehen.
Dann wäre das Verfahren dynmischer, denn so muss ich vorher wissen wie viel Splitpanes es sind und
dafür entsprechend Controller deklarieren.
 
L

lam_tr

Kannst du mir genauer erklären was du haben willst, vielleicht können wir der Sache nachher, so weiß ich nicht genau was deine Absicht ist.
 
J

Joob

Ich deklariere nun für jeden Splitpane einen Controller.
Aber gestern ist mir eingefallen das ich eventuelle auch eine observalList verwenden kann und bei
dem hinzufügen der Splitpanes den entsprechenden Controller dort speichern könnte.

Dann müsste es doch möglich sein im weiteren Verlauf die Liste zu iterieren.
Was meinst du ?
 
J

Joob

Nicht für jeden Splitpane sondern für jedes Element des Splitpanes.
 
L

lam_tr

Ich weiss was für Layouts du in den SplitPanes machst, was ist wenn du ein eigene Pane machst die FXML lädt?

Dann kannst du doch so machen

Code:
splitPane.getChildren().add(new CustomPane());



for(Node node : splitPane.getChildren()){

  if(node instanceOf CustomPane){

    CustomPane pane = (CustomPane) node;

    pane.call1();

    pane.call2();

    ....

  }

}

Wie man ein Custom Control erstellt kannst du hier nachlesen: https://docs.oracle.com/javafx/2/fxml_get_started/custom_control.htm
 
Zuletzt bearbeitet:
J

Joob

Das mit der Observallist hat geklappt.
Ich habe die Controller beim erstellen der Panes dort gespeichert und dann die Liste abgefragt.
Das funktioniert gut
 
Thema: 

JavaFX Splitpane - Zugriff auf die Controller der Elemente

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben