我们可以将Controller组装到JavaFx2中的节点吗?

时间:2013-06-20 18:52:47

标签: javafx-2 javafx

我做了这样的事情: 定义一个tablecell扩展TableCell,我定义一个FXML(FXML-b)来设计这个tablecell的UI。

    class TableCell4Operater<T0, T1> extends TableCell<T0, T1> {
    .....
    public TableCell4Operater(){
    URL url = getClass().getResource("operpan.fxml");  // FXML-b
        FXMLLoader fxmlloader = new FXMLLoader();
        fxmlloader.setLocation(url);
        fxmlloader.setBuilderFactory(new JavaFXBuilderFactory());
        try {
            node = (Node) fxmlloader.load(url.openStream());
                        *// here i get the Controller from the FXML definded*
            this.controller = (OperpanController) fxmlloader.getController();
                 }
}
}

在课堂上我可以得到节点和控制器, 但我需要在这个TableCell类中定义控制器方法, 因为我需要控制某个对象的事件,例如按钮的onAction()事件, 我还需要将事件发布到创建此tableCell所属的表的“主要阶段”,

所有要做的事情就是制作目标: 当我从“主舞台”上的表格单元格(上面定义)中单击一个按钮时, 我可以在“主舞台”上更改诸如TextField文本之类的内容,

所以事件转移的道路是: 表格单元格中的按钮(FXML-b) - &gt; “主舞台”上的表(FXML-a) - &gt; “主要阶段”(FXML-a)

任何人都可以教我如何实现,非常感谢!

0 个答案:

没有答案