【发布时间】:2019-08-07 05:46:21
【问题描述】:
问题:我正在尝试单击一个磁贴,当单击该磁贴时,它应该显示其值(文本),直到单击第二个值。单击第二个图块时,它应该显示它的值,然后删除第一个和第二个图块,除非它们的值匹配。目前显示第一个值;但是,第二个值永远不会显示在窗格中。编辑:感觉 EventDispatchThread 可能是我最好的,但我想不出一种轻量级的方法来安抚那只野兽。
Tile.java
public class Tile extends StackPane {
int val;
Text text = new Text();
Tile(int value) {
val = value;
text.setText(String.valueOf(value) );
text.setFont(Font.font(30));
text.setVisible(false);
setAlignment(Pos.CENTER);
getChildren().addAll(border, text);
setOnMouseClicked(event -> compgraphics.handleTiles(this));
}
public void toggleTile(){
if(text.isVisible()){
text.setVisible(false);
}
else{
text.setVisible(true);
}
}
}
handleTiles() 函数
public static void handleTiles(Tile t){
if (flip1 == null) {
flip1 = t;
flip1.toggleTile();
return;
}
if (flip2 == null) {
flip2 = t;
flip2.toggleTile();
if (flip1 != null && flip2 != null) {
if(!hasSameValue(flip1,flip2)) {
flip1.toggleTile();
flip2.toggleTile();
flip1 = null;
flip2 = null;
}
}
}
}
【问题讨论】:
标签: java user-interface javafx