Gridpane内の特定のセルの内容を取得します。私はボタンをセルに入れましたjavafx GridPaneは特定のセルの内容を取得します
setConstraints(btt , 0 ,1)
setConstraints(btt , 0 ,2)
getChildren().add....
私の場合、GridPane.getChildren.get(10)
は良くありません。私は細胞に直接行き(4,2)、内容を入手したい。
Gridpane内の特定のセルの内容を取得します。私はボタンをセルに入れましたjavafx GridPaneは特定のセルの内容を取得します
setConstraints(btt , 0 ,1)
setConstraints(btt , 0 ,2)
getChildren().add....
私の場合、GridPane.getChildren.get(10)
は良くありません。私は細胞に直接行き(4,2)、内容を入手したい。
まあ、私は、列と行のインデックスであることにより、gridpaneから特定のノードを取得するための解決策がない場合、私は
private Node getNodeFromGridPane(GridPane gridPane, int col, int row) {
for (Node node : gridPane.getChildren()) {
if (GridPane.getColumnIndex(node) == col && GridPane.getRowIndex(node) == row) {
return node;
}
}
return null;
}
あなたはi
は8×8 girdPaneを持っていると仮定すると、それを行うための機能を持っていると思います行とj
は列ですが、あなたが書くことができます。
myGridPane.getChildren().get(i*8+j)
は、戻り値の型がオブジェクトであるので、あなたはそれをキャストする必要がありますが、私の場合にはそれがあります:
(StackPane) (myGridPane.getChildren().get(i*8+j))
を返信するためにこれは、いくつかのケースでは本当かもしれありがとうございましたが、子どもたちのリストは、必ずしも行/列の順序で維持されていないとGridPane.setRowIndex()などで後から変更することができます。.. – Adam
私はsetRowIndex()を使用したことがないので、あまり言い表せません。このソリューションは私のために働いたし、デフォルトの行/列インデックスを変更しないと、ほとんどの場合、仕事が完了するはずです。 –
はyoueが –