小编com*_*air的帖子

如何为一个 fxml 文件创建多个实例

一个简单的问题,但我找不到答案。我有一个要多次实例化的 FXML 文件。每个副本都需要它自己的句柄,以便我可以更改其中的数据。假设,这与在您刚刚创建的类上使用“new”关键字完全一样。

到目前为止,在我的尝试中,我已经能够创建 fxml 文件的多个副本,但是只有一个控制器,因此调用方法意味着所有副本都会发生更改。

我是否必须为同一个 fxml 文件的每个副本创建一个新控制器?

提前致谢

编辑

我正在研究这个想法的代码在这里:

JavaFX:在实例化控制器类时传递参数

以防万一一些背景可能会有所帮助:

我有一个场景,我想保存我制作的 FXML 文件的多个实例。在场景中设置一个 FXML 文件很容易,但创建多个 (10-20) 意味着我将拥有 10 到 20 个控制器和 10 到 20 个 FXML 文件实例。有没有更干净的方法来做到这一点?

我的希望是做这样的事情:

public class SampleController implements Initializable {

    @FXML
    Label firstName;

    @FXML
    Label lastName;

    public SampleController(Label firstname, Label lastname) {

        this.firstName = firstname;
        this.lastName = lastname;
    }

    @Override
    public void initialize(URL location, ResourceBundle resources) {

    }
}
Run Code Online (Sandbox Code Playgroud)

然后调用类似的东西:

SampleController Row1 = new SampleController("my", "name");
Run Code Online (Sandbox Code Playgroud)

并让此命令将附加的 FXML 文件连同我传递给它的数据一起加载到场景中。但这不起作用,它会因异常而崩溃。

java javafx fxml

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

标签 统计

fxml ×1

java ×1

javafx ×1