基本上你的代码
hexagon.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println(piece.toString());
}
});
刚刚打印出任何 “小品”。
如果你想选择六边形,你需要在你的onMouseClicked Listener的句柄方法中应用选择。
onMouseClicked只是监听鼠标点击,您必须提供有关“如果点击该怎么做”的信息。
因此,在这种情况下,你会想要做
hexagon.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println(piece.toString());
hexagon.setStroke(Color.BLUE); //Color.BLACK, etc, but you asked for BLUE here.
}
});
行程是物体的轮廓,所以我假设你是通过什么意思“选择?”
如果您想要选择整个六边形,您可以将“setStroke”更改为“setFill”,但您要求蓝色边框。
我也不确定为什么你有六角形,以及“片”,我认为六角形是件...?
取决于你的代码是干什么的,你可能会piece.setStroke(Color.BLUE);
无论哪种方式取代hexagon.setStroke(Color.BLUE);
,希望这有助于!
我的作品是一个有图像和六角形的小组。谢谢您的帮助。问题:你可以使setStroke边框变粗吗? @Lasagna –
哦,好的,谢谢你的信息。为你的问题。 https://docs.oracle.com/javase/8/javafx/api/javafx/scene/shape/Shape.html#strokeWidthProperty 你会想要“setStrokeWidth(x.x); //默认值是2。0 – XaolingBao
是否可以一次只选择一个?因为我不能同时选择超过1个... –