我有一个关于javafx中一行的着色的小问题。我编写了一个场景,在这个场景中,每次鼠标点击都会创建一个圆圈。此外,每次鼠标单击后,都会计算并添加回归线。我现在想做的就是把回归线的颜色改成红色。我尝试过setfill(color.[anycolor])方法,但没有效果。这是鼠标单击事件的代码。
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.scene.Node;
import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Line;
public class MouseClick implements EventHandler<MouseEvent>
{
private static int counter = 0;
private static Line regression;
public void handle(MouseEvent event)
{
ObservableList<Node> children = Graphics.getRoot().getChildren();
System.out.println("X: " + event.getX() + " Y: " + event.getY());
Circle circle = new Circle(event.getX(), event.getY(), 5);
children.add(circle);
MouseClick.counter++;
if(counter > 1)
{
children.remove(regression);
double[] regr = calculateRegression(children);
System.out.println("slope: " + regr[0]+ " Yint: " + regr[1]);
regression = new Line();
regression.setStartX(0.0);
regression.setStartY(regr[1]);
regression.setEndX(Graphics.getWidth());
regression.setEndY(regr[0] * Graphics.getWidth() + regr[1]);
regression.setFill(Color.CRIMSON);
children.add(regression);
}
}
我甚至尝试创建一个新的类myline,其中每一行都用一种颜色示例化,但这也不起作用,而且行仍然是黑色的。有趣的是,当我在创建圆之后添加代码行时,它对圆有效。
Circle circle = new Circle(event.getX(), event.getY(), 5);
circle.setFill(Color.CRIMSON);
是否有人知道问题出在哪里,或者是否有其他方法改变线条颜色?
1条答案
按热度按时间csbfibhn1#
A.
Line
没有要填充的内部。您需要设置笔划的颜色。替换:与: