相关疑难解决方法(0)

传递参数JavaFX FXML

如何将参数传递给javafx中的辅助窗口?有没有办法与相应的控制器通信?

例如:用户从a中选择一个客户,TableView并打开一个新窗口,显示客户的信息.

Stage newStage = new Stage();
try 
{
    AnchorPane page = (AnchorPane) FXMLLoader.load(HectorGestion.class.getResource(fxmlResource));
    Scene scene = new Scene(page);
    newStage.setScene(scene);
    newStage.setTitle(windowTitle);
    newStage.setResizable(isResizable);
    if(showRightAway) 
    {
        newStage.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

newStage将是新窗口.问题是,我找不到告诉控制器在哪里查找客户信息的方法(通过传递id作为参数).

有任何想法吗?

parameters dependency-injection javafx parameter-passing fxml

180
推荐指数
4
解决办法
16万
查看次数

如何通过java文件中的setText更新fxml文件中的文本字段?

我希望基于某些值更新文本字段中的文本.为了使这个样本更简单,我使我的程序更小.问题似乎是当我把top.setText("这是我的新文本")时;

我看了一下: 如何在java fx 2中更改TextField的文本

但答案似乎没有意义.我不知道为什么要初始化已经实现的文本字段.无论它不起作用.

我还看了一下: NullPointerException(JavaFX Label.setText())

这似乎与我认为的问题最接近,但是当我做了以下操作时,我得到了一个错误.为了清楚起见,这是在JavaFXApplication5类中.

try {
        FXMLLoader loader = new FXMLLoader(
            getClass().getResource("FXML.fxml")
        );
        FXMLLoader.setController(this); // non-static method setController(Object) 
                                        // can not be referenced from static context ERROR****
        Parent root = (Parent) loader.load();
        /*Parent root = FXMLLoader.load(getClass().getResource("FXML.fxml"));

        Scene scene = new Scene(root);
        stage.setScene(scene);
        stage.setTitle("java code");
        stage.show();
        */

    }
Run Code Online (Sandbox Code Playgroud)

从网上阅读我想知道是否有竞争条件:http://gotoanswer.stanford.edu/nullpointerexception_in_javafx_initialize_method-8807679/

所以我尝试过:

Platform.runLater(new Runnable() {
  @Override public void run() {
    top.setText("This is my new Text");
  }
});
Run Code Online (Sandbox Code Playgroud)

但那没用.我知道它可以在Scene Builder中设置,但我需要一种方法来根据另一个类的值动态地更改它.如果我能弄清楚如何设置它,我可以弄清楚如何做这个部分.希望这足以得到一些帮助.

    FXMLController Class:
    public class FXMLController …
Run Code Online (Sandbox Code Playgroud)

javafx textfield settext

1
推荐指数
1
解决办法
2万
查看次数