我正在创建一个国际象棋应用程序,但我无法弄清楚如何将 ImageView 从当前位置移动到另一个位置。让我从头开始。
我的主要设计过去看起来像这样:http://prntscr.com/i98pfc。 但是当我将这些碎片添加到窗格/瓷砖时,我无法单击该块所在的区域,只能单击该区域的其余部分。我有一个用于窗格的EventHandler。它给了我窗格的坐标 - 在2D数组中表示 - 当我点击它时。但当我点击该片区域时没有任何反应。没有显示坐标。示例:http://prntscr.com/i98xi2。
我正在添加一个带有一块的新瓷砖,就像那样。
tiles[1][0] = new Tile(1, 0, new Pawn (0, "/.resources/Chess_pdt60.png"));
tiles[1][1] = new Tile(1, 1, new Pawn (0, "/.resources/Chess_pdt60.png"));
tiles[1][2] = new Tile(1, 2, new Pawn (0, "/.resources/Chess_pdt60.png"));
grid.add(new ImageView(new Image(tiles[1][0].getPieceOnTile().getImage())), 0, 1);
我将瓷砖添加到带有上面一行的电路板上。如您所见,我添加 新的ImageView(...) ,我上面描述的问题就出现了。我发现鼠标点击事件不适用于 ImageView 。
我尝试删除一个窗格并用fxml中的ImageView替换它并且它有效。我甚至点击了这件作品,我得到了它的坐标。
主要问题:
我想用ImageView替换每个窗格。但那我怎么能搬一块?