JavaFX 在 ImageView 中显示像素的 RGB 值
JavaFX show RGB value for pixel in ImageView
我正在尝试制作一个在其 GUI 中包含许多元素的应用程序,我正在使用 JavaFX 来制作一个。我偶然发现了一个问题,我无法真正检测到鼠标悬停在 ImageView 中的像素上的时间。
我已经尝试使用 CSS 的 hbox 包含:
#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 的顶部创建某种 table 或网格以显示数组中的 RGB 颜色,但这似乎不正确。
JavaFX 中是否有任何方法可以检测 ImageView(或任何其他视图)的每个像素上的鼠标悬停事件?
您可以使用 onMouseMoved
事件处理程序:
.setOnMouseMoved(event->{
System.out.println("x: "+event.getX()+"; y: "+event.getY());
});
鼠标在节点上移动时触发,event
包含当前鼠标坐标。
我正在尝试制作一个在其 GUI 中包含许多元素的应用程序,我正在使用 JavaFX 来制作一个。我偶然发现了一个问题,我无法真正检测到鼠标悬停在 ImageView 中的像素上的时间。
我已经尝试使用 CSS 的 hbox 包含:
#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 的顶部创建某种 table 或网格以显示数组中的 RGB 颜色,但这似乎不正确。
JavaFX 中是否有任何方法可以检测 ImageView(或任何其他视图)的每个像素上的鼠标悬停事件?
您可以使用 onMouseMoved
事件处理程序:
.setOnMouseMoved(event->{
System.out.println("x: "+event.getX()+"; y: "+event.getY());
});
鼠标在节点上移动时触发,event
包含当前鼠标坐标。