1

我有一个 Arc,并且喜欢在控制器类中分配事件处理程序。我在 Swing JPanel 中构建了一个 JFXPanel。我初始化的面板如下:

    public void init()
    {
       Platform.runLater( new Runnable() {
       @Override
       public void run()   {
       try {
         FXMLLoader loader = new FXMLLoader( getClass().getResource("fxml.fxml" ));
         Pane myPane = (Pane) loader.load();
         controller = loader.getController();
         Scene scene = new Scene( myPane );
         setScene( scene );
      }
      catch ( Exception e ) {
         e.printStackTrace();
      }  
    }
  }); 
 }

在 Controller 类中:我在 FXML 文件中声明了同名的 arc。

    @FXMLprivate Arc   arc;

在初始化方法中我做了:

    @FXML
    protected void initialize()
    {
        arc.setOnMouseClicked( new EventHandler<Event>() {

        @Override
        public void handle( Event event )
        {
            System.out.println("Evento");
        }
    } );

但是,该事件不会被触发。

4

0 回答 0