【发布时间】:2017-12-21 09:36:02
【问题描述】:
我正在尝试设置三个不同按钮使用的方法。我想加载三个不同视图中的一个,具体取决于按下哪个视图。为此,我考虑将按钮本身作为参数传递。但我不能,因为 javaFX 无法识别带有新参数的方法。
如何获得来电者按钮的fx:id,以便区分它们?这就是我到目前为止所得到的。我只需要初始化pressed 变量,它就会做它的事情。
if (pressed == edgeModify){
loader = new FXMLLoader(getClass().getResource("/digitalia/view/edgeView.fxml"));
} else if (pressed == sectionModify){
loader = new FXMLLoader(getClass().getResource("/digitalia/view/sectionView.fxml"));
} else {
loader = new FXMLLoader(getClass().getResource("/digitalia/view/LayerView.fxml"));
}
【问题讨论】:
-
如果你想用不同的按钮动作做不同的事情,为什么不为每次按下按钮使用不同的按钮动作?
-
我只是想,因为除了使用不同的 URL 之外,它可能会做完全相同的事情,我可以通过这种方式实现它。不过,单独做每一项可能会更容易。
-
@A.Gimeno 在这种情况下,您的不同处理程序可能只是单行方法,它们都调用一个通用方法,但将不同的 URL 作为参数传递。