基本的にあなたのコード
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つだけを選択できますか?私は同時に1つ以上を選択することはできないので... –