2017-06-01 12 views
2

私はいくつかのボタンがあるjavafxシーンを持っています。ボタンのイベントをアクティブにする唯一の方法は、ダブルクリッキングです。 fxmlでは、ボタンは次のアクションメソッドonAction="#Button1Action"を使用しています。 button1Actionイベントの機能をダブルクリックからワンクリックに変更するにはどうすればよいですか?Javafxボタンイベントをダブルクリックする必要があります

機能onAction:

@FXML 
private void Button1Action(ActionEvent event) { 
} 

とFXMLコード:あなたがButton1Actionの身体を計上していなかった

<Button id="button1" fx:id="button1" maxHeight="1.79.." maxWidth="1.79.." mnemonicParsing="false" onAction="#Button1Action" text="Answer" GridPane.columnIndex="3" GridPane.columnSpan="3" GridPane.halignment="CENTER" GridPane.rowIndex="7" GridPane.valignment="CENTER"> 
     <GridPane.margin> 
      <Insets bottom="30.0" left="30.0" right="30.0" top="30.0" /> 
     </GridPane.margin> 
</Button> 
+0

あなたには、いくつかのスニペットを投稿できますか? 'onAction'はダブルクリックではなく、何らかのアクションによって起動されます。 – TomN

+0

ダブルクリックでのみ有効になる機能を投稿しました。 fxmlのグリッドペインの一部です。 – konstantin

+0

Button1Action内のコードにイベントハンドラが含まれていないため、正確に何を投稿するべきかわかりません。 – konstantin

答えて

1

が、おそらくそれは次のように探しています:

@FXML 
private void Button1Action(ActionEvent event) { 
    button1.setOnAction(e -> System.out.println("Button clicked")); 
} 

ここでは、リスナーをリスナー内に割り当てているので、実際のリスナー本体w 2回目のクリックで実行されます。

些細な修正は次のとおりです。

@FXML 
private void Button1Action(ActionEvent event) { 
    System.out.println("Button clicked"); 
} 
+0

私のコードはあなたの2番目の例です。これは奇妙なことです。私はコード内にsetOnActionを持っていません。 – konstantin

+1

この場合、質問を例で更新してください。 – DVarga

関連する問題