是否有在 javafx 中获取圆形对象颜色的函数?
Is there a function to get a circle object color in javafx?
我在网格窗格中处理圆形对象,我必须通过单击来检查圆形对象的颜色。例如,如果它是蓝色的,则执行一些操作,如果它是红色的,则执行其他操作。
通过鼠标事件获取形状颜色
您可以使用 getFill()
获取它并使用 setFill()
方法更改它并提供一个具体的 Paint 对象作为参数。
这是您可以尝试的单个 class javafx 应用程序。
鼠标事件会将 getFill 打印为字符串
App.java
public class App extends Application {
@Override
public void start(Stage stage) {
Paint defaultColor = Color.AQUA;
Paint clickColor = Color.YELLOWGREEN;
Circle circle = new Circle(50, clickColor);
circle.setOnMouseClicked(e -> {
if (circle.getFill().equals(defaultColor)) {
circle.setFill(clickColor);
}else{
circle.setFill(defaultColor);}
System.out.println(circle.getFill().toString());
});
Scene scene = new Scene(new StackPane(circle), 200, 200);
stage.setScene(scene);
stage.setTitle("changing fill color");
stage.show();
}
}
我在网格窗格中处理圆形对象,我必须通过单击来检查圆形对象的颜色。例如,如果它是蓝色的,则执行一些操作,如果它是红色的,则执行其他操作。
通过鼠标事件获取形状颜色
您可以使用 getFill()
获取它并使用 setFill()
方法更改它并提供一个具体的 Paint 对象作为参数。
这是您可以尝试的单个 class javafx 应用程序。
鼠标事件会将 getFill 打印为字符串
App.java
public class App extends Application {
@Override
public void start(Stage stage) {
Paint defaultColor = Color.AQUA;
Paint clickColor = Color.YELLOWGREEN;
Circle circle = new Circle(50, clickColor);
circle.setOnMouseClicked(e -> {
if (circle.getFill().equals(defaultColor)) {
circle.setFill(clickColor);
}else{
circle.setFill(defaultColor);}
System.out.println(circle.getFill().toString());
});
Scene scene = new Scene(new StackPane(circle), 200, 200);
stage.setScene(scene);
stage.setTitle("changing fill color");
stage.show();
}
}