如何使一个按钮在JavaFx中基于其他4个按钮执行4个不同的操作?

如何使一个按钮在JavaFx中基于其他4个按钮执行4个不同的操作?,javafx,Javafx,我试图做到这一点,当用户按下学生或教员的按钮,然后将对象详细信息输入到基于他们按下的对象按钮打开的两个文本字段中,然后按下添加按钮,它将添加特定对象(学生或教员)根据他们在开始时第一次按下的对象按钮创建数组 我有按钮的处理程序,它们所做的只是添加相应的文本字段。我只需要这样做,例如,当用户按下student按钮时,Add按钮将知道如何将student对象添加到对象数组中 下面是用于创建文本字段的按钮的处理程序 这就是我到目前为止的所有处理程序。底部是GUI的外观。我只需要添加按钮就可以知道如何添

我试图做到这一点,当用户按下学生或教员的按钮,然后将对象详细信息输入到基于他们按下的对象按钮打开的两个文本字段中,然后按下添加按钮,它将添加特定对象(学生或教员)根据他们在开始时第一次按下的对象按钮创建数组

我有按钮的处理程序,它们所做的只是添加相应的文本字段。我只需要这样做,例如,当用户按下student按钮时,Add按钮将知道如何将student对象添加到对象数组中

下面是用于创建文本字段的按钮的处理程序

这就是我到目前为止的所有处理程序。底部是GUI的外观。我只需要添加按钮就可以知道如何添加parttimestudent、fulltimestudent等。根据顶部的哪个按钮被单击

        ftf.setOnAction(actionEvent -> {
            varsColumn.getChildren().removeAll(vars1, vars2, vars3, vars4);
            varsColumn.getChildren().addAll(vars3, vars4);
        });

        ptf.setOnAction(actionEvent -> {
            varsColumn.getChildren().removeAll(vars1, vars2, vars3, vars4);
            varsColumn.getChildren().addAll(vars3, vars4);

        });

        pts.setOnAction(actionEvent -> {
            varsColumn.getChildren().removeAll(vars1, vars2, vars3, vars4);
            varsColumn.getChildren().addAll(vars1, vars2);
        });

        fts.setOnAction(actionEvent -> {
            varsColumn.getChildren().removeAll(vars1, vars2, vars3, vars4);
            varsColumn.getChildren().addAll(vars1, vars2); 
        });


编辑:想到一个解决方案。我将创建4个不同的添加按钮,根据在顶部单击的将对象添加到阵列的相应对象按钮,这些按钮将显示在屏幕上的同一位置。

创建不同的处理程序:

EventHandler<ActionEvent> addStudentHandler = e -> {
    // code to add student...
};

EventHandler<ActionEvent> addFacultyHandler = e -> {
    // code to add faculty...
};

// etc...

请出示一些代码。
ftf.setOnAction(actionEvent -> {
    varsColumn.getChildren().removeAll(vars1, vars2, vars3, vars4);
    varsColumn.getChildren().addAll(vars3, vars4);
    addButton.setOnAction(addFacultyHandler);
});

fts.setOnAction(actionEvent -> {
    varsColumn.getChildren().removeAll(vars1, vars2, vars3, vars4);
    varsColumn.getChildren().addAll(vars1, vars2); 
    addButton.setOnAction(addStudentHandler);
});