我正在尝试使用javafx编写网卡游戏,但我遇到了问题。 我编写了一个自己的类CardImageView,它从ImageView扩展,以便我可以在那里保存Card-Object。 我可以将这个CardImageView添加到我的电脑上的主要组和我的“敌人”电脑上,我可以将它从我的电脑上删除。 但是当我试图在我的“敌人”电脑上移除它时,它仍然是可见的(但不是“可互动的”。 对于网络连接,我使用的是一个Task,它通过消息属性为字符串提供命令。
private void onCardRemoved(String msg) {
System.out.println("CARD REMOVED BY: "+Thread.currentThread());
String[] params = msg.split(";");
//Calculating the coordinates of the card on screen
double x = getWidth() - (Double.parseDouble(params[1])/100*getWidth()+card_width/2);
double y = getHeight() - (Double.parseDouble(params[2])/100*getHeight()+card_height/2);
CardImageView toRemove = null;
System.out.println("To-Remove ("+x+"/"+y+")");
//searching for the card in my group
for(Node n : spielfeld.getChildren()) {
if(n instanceof CardImageView && n.getLayoutX() == x && n.getLayoutY() == y) {
toRemove = (CardImageView) n;
break;
}
}
//removing the card
if(toRemove != null) spielfeld.getChildren().remove(toRemove);
}