2012-12-14 109 views
0

我想在切换组中组合一些单选按钮。该组创建在控制器类中:JavaFx表单加载

final ToggleGroup rbtGroup = new ToggleGroup(); 

现在我创建一个函数,将这些按钮添加到组中。但是,我如何在所谓的表单加载上启动函数?

我在过去几个月为我的公司编写了Visual Basic,并且在窗体上有一个名为load的事件。因此,我可以通过在主流活动中简单地编写我的代码来处理每个事件(加载,更改等)。

我如何在Java FX上实现这一目标?

不好意思问这个问题,但是我发现Java FX文档很混乱。

+0

我不明白应该在什么时候触发哪个函数。你能否进一步解释你在找什么? – Puce

回答

1

您的控制器类必须实现javafx.fxml.Initializable接口,并覆盖(实现)唯一的方法initialize()。这个initialize()方法(Java术语中没有function)是加载FXML文件的“表单加载函数”。因此,您可以使用此方法定义并启动控制和变量,如:

... 
@FXML 
private ToggleGroup rbtGroup; 

@Override 
public void initialize(URL url, ResourceBundle rb) { 

    rbtGroup = new ToggleGroup(); 

    ToggleButton tb1 = new ToggleButton("ToggleButton 1"); 
    tb1.setToggleGroup(rbtGroup); 

    ToggleButton tb2 = new ToggleButton("ToggleButton 2"); 
    tb2.setToggleGroup(rbtGroup); 
} 
... 

请注意@FXML注释。如果在加载FXML文件中定义了rbtGroup,则放入它。
或者在initialize()方法中调用“向组添加按钮”方法(再次不起作用)。

+0

这是一个很好的解决方案,我想知道为什么不被OP接受。我在我身边工作得很好。谢谢。 – user3437460