📅  最后修改于: 2023-12-03 15:16:03.697000             🧑  作者: Mango
本文将介绍如何使用JavaFX和CSS代码来更改图像的样式,以实现鼠标悬停时更改图像。
在使用JavaFX时,我们可以通过CSS样式表来控制UI组件的样式和行为。在此示例中,我们将使用CSS来更改图像的外观。
我们可以使用CSS伪类:hover来检测鼠标悬停,并更改图像的样式。使用以下代码:
#image{
-fx-image: url('path/to/image1.png');
}
#image:hover{
-fx-image: url('path/to/image2.png');
}
代码解释:
要在JavaFX中使用我们的CSS样式表,我们需要在代码中加载和应用该样式表,如下所示:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("JavaFX Change Image on Hover with CSS");
// 加载图片并使用ImageView创建节点
ImageView imageView = new ImageView("path/to/image1.png");
imageView.setId("image");
// 创建Pane并将节点添加到其中
StackPane root = new StackPane();
root.getChildren().add(imageView);
// 加载CSS样式表并将其应用于场景
Scene scene = new Scene(root, 300, 300);
scene.getStylesheets().add("path/to/style.css");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
代码解释:
如果我们现在将鼠标悬停在图像上,就会看到显示的新图像。