Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过传递变量动态打开FXML接口 简介:_Java_Javafx_Fxml_Openjfx - Fatal编程技术网

Java 通过传递变量动态打开FXML接口 简介:

Java 通过传递变量动态打开FXML接口 简介:,java,javafx,fxml,openjfx,Java,Javafx,Fxml,Openjfx,嗨,我在FXML上遇到了麻烦,快把我逼疯了 背景故事: 我已经用Java构建了一个树数据结构,这棵树代表我的GUI(人机界面)的“状态”。 对于这个树的每个节点,我希望有一个相应的FXML文件,其名称存储在树节点中。 我希望打开根节点(树中的特殊节点),并根据当前树的状态将多个松散的FXML文件嵌入其中 问题: 我不知道如何将变量从应用程序传递到FXML 我不知道如何用fx:include实例化一个FXML,用链接发送一些字符串参数(到其他FXML),并创建一个灵活的应用程序 我试过的 在谷

嗨,我在FXML上遇到了麻烦,快把我逼疯了

背景故事:

我已经用Java构建了一个树数据结构,这棵树代表我的GUI(人机界面)的“状态”。 对于这个树的每个节点,我希望有一个相应的FXML文件,其名称存储在树节点中。 我希望打开根节点(树中的特殊节点),并根据当前树的状态将多个松散的FXML文件嵌入其中

问题:

  • 我不知道如何将变量从应用程序传递到FXML

  • 我不知道如何用
    fx:include
    实例化一个FXML,用链接发送一些字符串参数(到其他FXML),并创建一个灵活的应用程序

我试过的 在谷歌第4页(duckduckgo第2页)之前,一切看起来都像是一个解决方案。 我没有尝试过很多,因为显然没有人想加载variables/fxml页面

我也遵循了教程

应用程序类别:

public class Main extends Application {
  @Override
  public void start(Stage primaryStage) throws Exception {
    FXML loader = new   FXMLLoader(getClass().getResource("sample.fxml"));
    Map<String, Object> namespace = loader.getNamespace();

    namespace.put("a", "sample2.fxml");
    primaryStage.setTitle("Hello World");
    primaryStage.setScene(new Scene(loader.load(), 300, 275);
    primaryStage.show();
  }
  public static void main(String[] args){launch(args);}
}
public类主扩展应用程序{
@凌驾
public void start(Stage primaryStage)引发异常{
FXML loader=newFXMLloader(getClass().getResource(“sample.FXML”);
Map namespace=loader.getNamespace();
put(“a”,“sample2.fxml”);
setTitle(“你好世界”);
setScene(新场景(loader.load(),300275);
primaryStage.show();
}
公共静态void main(字符串[]args){launch(args);}
}
包含以下内容的FXML文件:


给定的示例会发生什么
FXML无法编译,因为它不知道“$a”

我假设您错过了FXMLIt中的花括号:${a}在我尝试这种方法时起了作用:但是当我尝试在fx:include source=“$”上使用它时,“$”和“${}”都不起作用