2015-11-15 6 views
0

Я пытаюсь заполнить очереди для приложения, которое создает теннисный турнирКак вызвать метод с параметром ActionEvent на другой метод

enter image description here

При нажатии на кнопку «Crear Torneo» (как видно на изображении), я создаю очередь в методе «crearTorneo». Когда я нажимаю кнопку «Añadir» (также видна на изображении), она берет информацию в нескольких текстовых полях и создает объект в методе «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(); 

Очевидно, что когда я называю метод llenarCola внутри crearTorneo, я пропускаю ActionEvent параметр, который подводит меня к моему вопросу: как мне вызвать метод с параметром ActionEvent по другому методу? Или, может быть, я подхожу к этому неправильно?

Это первый раз, когда я использую JavaFX, так что, возможно, есть другой способ (хороший способ практики), о котором я не знаю. Мне все еще нужен метод llenarCola, который будет называться ТОЛЬКО при нажатии кнопки «Añadir». Я использую Scene Builder 2 и Netbeans 8.0.2.

+2

Если вы не используете 'событие 'instance внутри метода, вы можете вызвать метод и передать в' null'. Или вы можете создать экземпляр 'ActionEvent'. Или вы можете передать ваш метод ActionEvent другому методу, который не имеет параметра. – khelwood

+2

Этот вопрос похож на http://stackoverflow.com/questions/33129568/elegant-way-to-handle-keyboard-input-in-javafx –

+0

Но мне все еще нужен метод llenarCola, который вызывается только тогда, когда кнопка «Añadir» "нажата. Если я поставлю нулевой параметр, не будет ли он вести себя по-другому? Кроме того, я не считаю другой вопрос актуальным. – GFV450

ответ

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; 
} 

, а затем вы можете вызвать без аргументов версии:

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

    jugador = llenarCola(); 

    // ... 
} 
+0

большое вам спасибо :) Я вижу ваши ответы на многих сообщениях javafx – minigeek

Смежные вопросы