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());
}
}
}
您的onmouseclicked
处理程序出了问题。
有关lambda表达式的正确语法,请参见oracle教程的语法部分。
正确的做法是
this.setOnMouseClicked(e -> {
if (e.getButton() == MouseButton.SECONDARY) {
open();
}
});
我正在开发一个javafx扫雷游戏,目前只使用鼠标左键输入。我想用鼠标右键也让用户可以标记可能的炸弹。我查看了Button类的Oracle网页,它说: “当按下并释放按钮时,将发送ActionEvent。应用程序可以通过实现EventHandler来处理ActionEvent来执行基于此事件的某些操作。按钮也可以通过实现EventHandler来处理MouseEvent来响应鼠标事件。” http
一款扫雷玩法的放置游戏,不过这个简单很多,只有4x4个升级。 游戏没存档系统,所以,刷新即重新开始~
本文向大家介绍C++实现扫雷、排雷小游戏,包括了C++实现扫雷、排雷小游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C++实现扫雷、排雷小游戏的具体代码,供大家参考,具体内容如下 界面: 游戏思想: 扫雷游戏: 1.随机给定雷点坐标 2.判断每个点的雷情况 3.由用户根据上下左右键到达指定位置,点击enter,翻开该点 如果该点是雷点,此时翻开所有雷点,告知游
问题内容: 嗨,我正在搜索如何(仅)启用鼠标右键,并使用NetBeans在jFrame中显示一个弹出菜单。使用我的代码为: 我仍然无法获得最佳结果,因为它还会在单击鼠标左键时弹出,也向我暗示我正在做任何错误操作。 问题答案: 这就是它应该真正做到的事情,它很棒而且有用 别忘了添加一个导入 玩得开心…
本文向大家介绍c# 实现自动扫雷,包括了c# 实现自动扫雷的使用技巧和注意事项,需要的朋友参考一下 年前无意看到一个用Python写的小桌面程序,可以自动玩扫雷的游戏,觉得挺有意思,决定用C#也做一个。【真实情况是:我知道Python最近比较火,非常适合搞爬虫、大数据、机器学习之类的,但现在连桌面程序都用Python做了吗?还给不给.NET程序员活路了?简直不能忍!】 春节期间正好有
我在将带有3个按钮的VBox放在BorderPane右侧部分的中心时遇到问题。有没有办法在FXML或CSS中实现这一点? 更新: 这是FXML中的代码 这是CSS文件 以及应用程序的屏幕截图。我希望Vbox位于BorderPate右侧部分的中心。非常感谢您的回复!