2016-04-30 20 views
3

私は、イベント処理を学ぼうとしているように見えたFXMLボタンで例を作っています:のJavaFX - (FXMLで)ボタンのmouseEnteredイベントを処理

<Button fx:id="button" onAction="#Handle"> 

、私に次のハンドラメソッドコントローラ:

@FXML 
private void Handle() { 

    btn_welcome.setOnMouseClicked((event) -> { 

     System.out.println("test"); 

    }); 

これまでのところうまくいきます。今、私はマウスでボタンを入力するイベントを処理したいと思います。試しました

@FXML 
private void Handle() { 

    btn_welcome.setOnMouseEntered((event) -> { 

     System.out.println("test"); 

    }); 

しかし、動作していないようです。

答えて

4

他のリスナーをコントロールに配置して、関数 を実行させないようにしてください。あなたは、ハンドルメソッドを呼び出すたびに別のリスナーを配置していますか? simple.Methodが呼び出されます、そして、あなたがしなければならなかったすべては、ID /メソッド名、および使用を指定であることを

使用onMouseEntered="#methodToBeCalled"ちょうどそのメソッドを作成

@FXML 
public void methodToBeCalled(){ 
    System.out.println("mouse entered"); 
} 

FXML

で、コードでその注釈。

+0

を試すことができます。ありがとう! – Mark

+0

SceneBuilderをダウンロードして使用することをお勧めします。あなたはjavafxをより早く学び、より生産的になるでしょう。 –

-1

あなたもすごいああ、それは本当に簡単です。この

btn_welcome.addEventHandler(MouseEvent.MOUSE_ENTERED, 
     new EventHandler<MouseEvent>() { 
      @Override 
      public void handle(MouseEvent e) { 
      //your code here 
      } 
     }); 
関連する問題