0
左のマウスでタイルを開き、右のマウスでクリックします。私は多くのことを読んで試しましたが、どうにかしてこの作業をすることはできません。JavaFX for Minesweeperの右クリック
private class Tile extends StackPane {
private int x, y;
private boolean hasBomb;
private boolean isOpen = false;
private Rectangle border = new Rectangle(TILE_SIZE - 2, TILE_SIZE - 2);
private Text text = new Text();
public Tile(int x, int y, boolean hasBomb) {
this.x = x;
this.y = y;
this.hasBomb = hasBomb;
border.setStroke(Color.BLACK);
border.setFill(Color.GREY);
text.setFont(Font.font(18));
text.setText(hasBomb ? "X" : "");
text.setVisible(false);
getChildren().addAll(border, text);
setTranslateX(x * TILE_SIZE);
setTranslateY(y * TILE_SIZE);
onMouseClicked: function(e:MouseEvent):Void {
if (e.button == MouseButton.SECONDARY) {
setOnMouseClicked(e -> open());
}
}
}
助けてください。
は、 "機能していない"と定義します。あなたが持っているものは構文エラーのようです。確かにJavaではありません。 – markspace
申し訳ありません、はいいくつかの構文エラーがあります。私はこれを例として使用しました:http://stackoverflow.com/questions/1515547/right-click-in-javafx –
@KendelVentonda:これはJavaFX **スクリプト**です。これはもはやサポートされていません。 – fabian