Witam!
Mam prostą aplikację w JavaFX. Ma ona na początek wyświetlać w oknie obiekty z tablicy, utworzone i umieszczone w niej wcześniej w losowej kolejności. Obiekty generowane i umieszczane tablicy są w klasie GeneratorKafli.. Próbuję więc przekazać (na razie tylko po jednym polu każdego obiektu) do kontrolera i wyświetlić w jednym z pól tekstowych, ale niestety nie działa. Wszystko wyświetla się poprawnie tylko w konsoli - najpierw tekst przekazany z klasy GeneratorKafli a potem tekst jaki został ustawiony w polu tekstowym(ten sam co przekazany z klasy GeneratorKafli) a w oknie gui pozostaje dalej domyślny tekst "test". Dlaczego tak się dzieje? Proszę o pomoc
Main
package application;
import java.io.IOException;
//import App.GeneratorKafli;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.fxml.FXMLLoader;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Sample.fxml"));
Parent root = (Parent) fxmlLoader.load();
SampleController fooController = ((SampleController) fxmlLoader.getController());
fooController.setStage(primaryStage);
Scene scene = new Scene(root,1024,768);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
GeneratorKafli generator = new GeneratorKafli();
generator.GenerujKafle4x4();
generator.PokazKafle();
launch(args);
}
}
SampleController
package application;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.geometry.Pos;
import javafx.scene.layout.TilePane;
import javafx.scene.control.TextField;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.GridPane;
//import static application.GeneratorKafli.PokazKafle;
public class SampleController /*implements Initializable*/{
@FXML
private AnchorPane ap;
@FXML
public TilePane tilePane;
@FXML
private GridPane gridPane;
@FXML
private TextField textField1;
@FXML
private TextField textField2;
public void initialize(String data){
System.out.print("Data: "+data + "| " );
textField1.setText("OK@@ " + data);
System.out.print(" TF: " + textField1.getText());
}
}
GeneratorKafli
public void PokazKafle() throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Sample.fxml"));
Parent root = fxmlLoader.load();
SampleController fooController = fxmlLoader.<SampleController>getController();
String d = "";
for (int i=0; i<15; i++) {
d = kafle[i].getNazwa();
fooController.initialize(d);
//System.out.println(kafle[i].getId() + " " + kafle[i].getNazwa() + " " + kafle[i].getImage() + "\n");
}
}