私は非常に簡単な質問があります。私はjavafx eventページを検索しました。私はいくつかの細部を見落とすことがあります。とにかく私のコードを見れば、すべて正常に動作します。グループマウスイベントが発射されないJavafx
レイアウトをグループにラップしてレイアウトに直接追加するのではなく、layoutとcontentPaneの両方がマウスイベントの検出を停止しているようです。グループgがマウスイベントを取得していないイベント。
このような動作は正常ですか?どうして?
この件に関するお手伝いをさせていただきます。
package mouseeventtest;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class MouseEventTest extends Application {
BorderPane layout;
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Test Mouse Event");
layout = new BorderPane();
Pane contentPane = new StackPane();
layout.setCenter(contentPane);
layout.setOnMousePressed(e ->{ System.out.println("layout.setOnMousePressed..."); });
contentPane.setOnMousePressed(e -> { System.out.println("contentPane.setOnMousePressed..."); });
//Group g = new Group(layout);
//g.setOnMousePressed(e -> { System.out.println("g.setOnMousePressed ..."); });
//Scene scene = new Scene(g, 800, 800, Color.WHITE);
Scene scene = new Scene(layout, 800, 800, Color.WHITE);
scene.setOnMousePressed(e -> { System.out.println("scene.setOnMousePressed..."); });
primaryStage.setScene(scene);
primaryStage.show();
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
バグでしょうか? – Tania