小编Tan*_*nia的帖子

为什么默认按钮鼠标事件处理程序消耗一个事件?

感谢上一篇文章的帮助(这也是我的第一篇文章).我是stackoverflow的新手.我希望我早些时候加入这个小组.人们非常有礼貌,乐于助人.

无论如何,我一直在努力更好地理解javafx事件.对你们中的一些人来说,这似乎是另一个简单或"愚蠢"的问题.为什么默认按钮鼠标事件处理程序似乎消耗一个事件?

oracle文档开始,在页面底部,它指出"请注意,JavaFX UI控件的默认处理程序通常会占用大部分输入事件." 它是一个附加到按钮的默认处理程序,我不知道吗?为什么我必须在目标节点上显式触发事件才能使事件调度链冒泡?

再次,任何回复将不胜感激!:)

public class MouseEventTest extends Application {

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello World");

        Group root = new Group();

        Scene scene = new Scene(root, 300, 250);

        Button btn = new Button();
        btn.setText("Hello World");
        btn.setPrefSize(100, 100);


        BorderPane layout = new BorderPane(btn);
        layout.setPrefSize(300, 250);

        root.getChildren().add(layout);

        //This is the event dispatch chain
        //primaryStage -> scene -> root -> layout -> btn  (capturing phrase)
        //btn -> layout -> root -> scene -> primaryStage …
Run Code Online (Sandbox Code Playgroud)

java events javafx

3
推荐指数
2
解决办法
782
查看次数

如何转换为泛型类型?

以下代码生成"未检查或不安全的操作"警告,如何在不引起警告的情况下转换Object o为类型T?我知道我可以压制警告,但我想知道"正确"的方式.

public class MyType<T> {
    T cast(Object o) {
        return (T)o; //<--- what causes the warning
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics casting

2
推荐指数
1
解决办法
140
查看次数

标签 统计

java ×2

casting ×1

events ×1

generics ×1

javafx ×1