JavaFX在ImageView中显示像素的RGB值

时间:2016-07-07 12:42:51

标签: java css javafx fxml

我正在尝试创建一个在GUI中包含许多元素的应用程序,我正在使用JavaFX来制作一个。我偶然发现了一个问题,我无法真正检测到ImageView中的像素何时被鼠标悬停。

我已尝试使用CSS包含以下内容:

#hbox:hover {
-fx-background-color: #FFFFFF;
}

并且...我知道这很愚蠢,但至少尝试过:

if (hboxImage != null /*&& hboxImage.isHover()*/) {
            hboxImage.setOnMouseClicked(event -> {
                double i = hboxImage.getX();
                double j = hboxImage.getY();
                System.out.println("i: " + i + " j: " + j);
            });
        }

我知道我不需要做我需要做的事情,但这是我发现的唯一一个悬停的好事。

我正在考虑在ImageView上创建某种表格或网格,以向我显示数组中的RGB颜色,但这似乎不正确。

JavaFX中是否有任何方法可以在ImageView的每个像素上检测鼠标悬停事件(或其他任何视图都很重要)?

1 个答案:

答案 0 :(得分:1)

您可以使用onMouseMoved事件处理程序:

.setOnMouseMoved(event->{
    System.out.println("x: "+event.getX()+"; y: "+event.getY());
});

当鼠标在节点上移动并且event包含当前鼠标坐标时触发。