【发布时间】:2016-11-17 17:03:46
【问题描述】:
假设我在 FXML 中有两个按钮:
<Button fx:id="button1" onAction="#onClick1" prefHeight="134.0" prefWidth="134.0"></Button>
<Button fx:id="button2" onAction="#onClick2" prefHeight="134.0" prefWidth="134.0"></Button>
我想将它作为控制器类中的按钮数组。我该怎么做呢?我试过了:
public Button button1, button2;
public Button[] arrayButtons = {button1, button2}
也尝试过制作方法:
public class controller {
public Button button1, button2;
public Button[] arrayButtons;
public void initializeButtonArray() {
arrayButtons = new Button[2];
arrayButtons[1] = button1;
arrayButtons[2] = button2;
}
}
这些都不起作用,因为当我尝试对数组执行某些操作时,它会给我一个运行时异常(即 arrayButton[1].setText("Test")):
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
我怎样才能拥有一个 Button 数组,其中元素来自 fx:id?
【问题讨论】:
-
只需将
initializeButtonArray重命名为initialize(或从initialize()调用initializeButtonArray()方法)。 -
非常感谢!
标签: java javafx javafx-8 scenebuilder