我使用JavaFX创建一个蓝色矩形。
当鼠标移到蓝色矩形所覆盖的区域时,能否将矩形的颜色更改为红色,而当鼠标移出矩形时,是否可以将其更改为蓝色?
我创建的矩形:
public class ColorfulRectangle extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Group root = new Group();
Scene scene = new Scene(root, 400, 300, Color.WHITE);
Rectangle rect1 = RectangleBuilder.create()
.x(50)
.y(50)
.width(100)
.height(100)
.fill(Color.BLUE)
.build();
root.getChildren().add(rect1);
primaryStage.setScene(scene);
primaryStage.show();
}
}
最佳答案
我建议阅读一些有关MouseEvents in JavaFX的信息。
至于你的答案:
rect1.setOnMouseEntered(new EventHandler<MouseEvent>() {
public void handle(MouseEvent me) {
rect1.setFill(Color.RED);
}
});
rect1.setOnMouseExited(new EventHandler<MouseEvent>() {
public void handle(MouseEvent me) {
rect1.setFill(Color.BLUE);
}
});