2017-04-25 1 views
0

J'ai construit un contrôleur assez simple pour mon fichier "MainWindow.fxml" pour traiter un bouton. J'ai suivi le tutoriel this. Et j'ai correctement défini le fx: id dans le doc fxml. Cependant sur la compilation je reçois l'erreur suivante avertissementEventHandler ne prend pas de paramètres - JavaFX

java: le type java.beans.EventHandler ne prend pas de paramètres

pour la ligne

createVizButton.setOnAction(new EventHandler<ActionEvent>(){ 

Ma classe complète du contrôleur ressemble à la suivant ...

package sample; 
import javafx.fxml.FXML; 
import javafx.fxml.Initializable; 
import java.awt.event.ActionEvent; 
import java.beans.EventHandler; 
import java.net.URL; 
import java.util.ResourceBundle; 
import javafx.scene.control.Button; 

public class MainController implements Initializable{ 
    @FXML 
    private Button createVizButton; 
    @Override // This method is called by the FXMLLoader when initialization is complete 
    public void initialize(URL fxmlFileLocation, ResourceBundle resources) { 
     assert createVizButton != null : "fx:id=\"createButton\" was not injected: check your FXML file 'MainWindow.fxml'."; 

     // initialize your logic here: all @FXML variables will have been injected 
     createVizButton.setOnAction(new EventHandler<ActionEvent>(){ 
      @Override 
      public void handle(ActionEvent event) { 
       System.out.println("That was easy, wasn't it?"); 
      } 
     }); 
    } 
} 

Toute aide appréciée, nks à l'avance.

Répondre

1

Vos importations sont incorrectes:

import java.awt.event.ActionEvent; 
import java.beans.EventHandler; 

devrait être

import javafx.event.ActionEvent; 
import javafx.event.EventHandler;