Posiadam 2 pliki fxml i 2 kontrolery do nich. Chciałem aby te pliki podmieniały się po kliknięciu w przycisk w centralnej części BorderPane. Moje pytanie to w jaki sposób mogę przekazać zmienną z jednego kontrolera do drugiego po wciśnięciu tego przycisku ?
Wygląda to mniej więcej tak :
public class SearchUczenController implements Initializable {
@FXML
private TextField pole;
@FXML
private ListView mojaLista;
@Override
public void initialize(URL location, ResourceBundle resources) {
}
public void more(){
String tekst = pole.getText();
}
}
public class UserInfoController implements Initializable {
@FXML
private Label label;
private String nazwa;
@Override
public void initialize(URL location, ResourceBundle resources) {
}
public void setNazwa(String nazwa) {
this.nazwa = nazwa;
}
}
I chciałbym po prostu w UserInfoController na zmienna nazwa ustawić stringa pobranego z SearchUserControl z pola pole.
A tutaj fxml
SearchUser.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ListView?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<VBox alignment="TOP_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="420.0" prefWidth="550.0"
xmlns="http://javafx.com/javafx/8.0.172-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Kontrolery.srodek.SearchUczenController">
<children>
<HBox alignment="TOP_CENTER" prefHeight="100.0" prefWidth="200.0" spacing="10.0">
<children>
<Label text="Wyszukaj Ucznia : ">
<HBox.margin>
<Insets top="5.0" />
</HBox.margin>
<font>
<Font size="15.0" />
</font>
</Label>
<TextField fx:id="pole" onKeyReleased="#wypisz">
<font>
<Font size="15.0" />
</font></TextField>
</children>
<padding>
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
</padding>
</HBox>
<ListView fx:id="mojaLista" prefHeight="200.0" prefWidth="200.0" />
<HBox alignment="CENTER_RIGHT" prefHeight="100.0" prefWidth="200.0">
<children>
<Button mnemonicParsing="false" onAction="#more" text="Więcej informacji">
<font>
<Font size="14.0" />
</font>
</Button>
</children>
<padding>
<Insets right="50.0" />
</padding>
</HBox>
</children>
<padding>
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
</padding>
</VBox>
UserInfo.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.VBox?>
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0"
fx:controller="sample.Kontrolery.srodek.UserInfoController" xmlns="http://javafx.com/javafx/8.0.172-ea" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Label fx:id="label" text="Label" />
</children>
</VBox>