controller - 具有多个不同 Controller 的 JavaFX 1 FXML 文件?

标签 controller javafx fxml

我的应用程序中有两个不同的阶段,它们是使用相同 FXML 文件的帮助屏幕。我不想创建 2 个 FXML 文件,而是只使用一个并有两个​​调用相同 fxml 的 Controller 。

唯一的问题是 Controller 是在 FXML 文件中分配的。那么,有没有办法使用 Controller 类本身中的代码更改分配的 Controller ?

我真的很想避免复制 FXML 文件只是为了更改每个文件中的 Controller 。提前致谢。

最佳答案

您可以删除 fx:controller=""来自 FXML 的分配文件并通过 FXMLLoader 分配 Controller 在负载期间。

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Your.fxml"));
fxmlLoader.setController(this);

try
{
    fxmlLoader.load();
}
catch (IOException exception)
{
    throw new RuntimeException(exception);
}

查看 Introduction to FXML section on custom components .

关于controller - 具有多个不同 Controller 的 JavaFX 1 FXML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15964832/

相关文章:

java - 为什么 javafx.scene.text.Font 不可序列化?

java - 如何控制 JavaFX Tooltip 的延迟?

java - 更改照片的KeyEvent不起作用,如何激活它?

java - 将带有句点的 Json 属性映射到 Spring Controller 中的类属性

asp.net-mvc - 如何重定向到同一 Controller 中的另一个 Action ?

php - 将javascript变量从 View 发送到Codeigniter中的 Controller

JavaFX FXMLLoader IllegalStateException : Location is not set

javascript - 无法在 AngularJS 服务中返回 fileReader 结果的值

java - 是否可以用 Javafx 中的新场景填充 TableView 的行?

JavaFX:在单独的线程中运行任务不允许运行其他任何东西