如何在另一个方法

时间:2015-11-15 15:59:18

标签: java methods javafx scenebuilder actionevent

我正在尝试为创建网球锦标赛的应用程序填充队列

enter image description here

当我点击“Crear Torneo”按钮时(如图所示),我在方法“crearTorneo”中创建队列。当我点击“Añadir”按钮(也在图像中看到)时,它获取几个TextFields中的信息,并在“llenarCola”方法中创建一个对象,该方法返回以填充队列。

现在,这是我的llenarCola方法:

@FXML
private NodoJugadores llenarCola(ActionEvent event) 
{
    int cedula = Integer.parseInt(textCedula.getText());
    int edad = Integer.parseInt(textEdad.getText());
    NodoJugadores jugador = new NodoJugadores(textNombre.getText(), cedula, textSexo.getText(), edad, textEquipo.getText(), 0);

    return jugador;
}

这是我的crearTorneo方法:

@FXML
private void crearTorneo(ActionEvent event)
{
    NodoJugadores jugador;
    ColaJugadores cola = new ColaJugadores(); 

    jugador = llenarCola();

显然,当我在crearTorneo中调用方法llenarCola时,我错过了ActionEvent参数,这让我想到了一个问题:如何在另一个方法上调用带有ActionEvent参数的方法?或者也许我正在接近这个错误的方式?

这是我第一次使用JavaFX,所以也许还有另一种我不知道的方式(一种很好的练习方式)。当按下“Añadir”按钮时,我仍然需要调用方法llenarCola。我正在使用Scene Builder 2和Netbeans 8.0.2。

1 个答案:

答案 0 :(得分:1)

这基本上与Elegant way to handle Keyboard Input in JavaFX

相同

你可以做到

@FXML
private void llenarCola(ActionEvent event) {
    llenarCola() ;
}

private NodoJugadores llenarCola() {
    int cedula = Integer.parseInt(textCedula.getText());
    int edad = Integer.parseInt(textEdad.getText());
    NodoJugadores jugador = new NodoJugadores(textNombre.getText(), cedula, textSexo.getText(), edad, textEquipo.getText(), 0);

    return jugador;
}

然后你可以调用no-arg版本:

@FXML
private void crearTorneo(ActionEvent event){
    NodoJugadores jugador;
    ColaJugadores cola = new ColaJugadores(); 

    jugador = llenarCola();

    // ...
}