我正在尝试为创建网球锦标赛的应用程序填充队列
当我点击“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。
答案 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();
// ...
}