JavaFX改变了ImageView的颜色

时间:2015-05-01 18:10:09

标签: java javafx javafx-8

您好我试图在鼠标悬停时更改ImageView的颜色(悬停)

所以我有一个包含这个的css文件:

client_id

这是十字架:

.cross:hover {
    -fx-background-color: red;
}

我在fxml文件中设置了fx:id。

当我将鼠标悬停在它上面时,没有任何反应。

这是我将样式表添加到场景的方式:

@FXML
    private ImageView cross;

这就是我在ImageView上设置css的ID的方法:

scene.getStylesheets().add(getClass().getResource("Style.css").toExternalForm());

那么当我将鼠标悬停在ImageView上时,如何更改ImageView的颜色?

1 个答案:

答案 0 :(得分:4)

ImageView的颜色由图像本身的像素数据定义。您可能需要使用"背景"创建(外部)替代图像。更改为红色,然后使用-fx-image的{​​{1}} CSS属性更改显示的图像:

ImageView

其中.cross { -fx-image: url(images/cross.png); } .cross:hover { -fx-image: url(images/red-cross.png); } 文件夹与CSS文件具有相同的父文件夹(请参阅CSS docs on URL。)