基本上你的代碼
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個... –