0
グリッドに保存されているオブジェクトの属性を変更するにはどうすればよいですか?私はこれを試してみましたが、それは私に上記のエラーを与える:Javaでオブジェクトを別のものにキャストするにはどうすればよいですか? "javafx.scene.Groupはjavafx.scene.shape.Rectangleにキャストできません"
Group group = new Group();
double dimension_x=100;
double dimension_y=100;
GridPane grid = new GridPane();
grid.setHgap(1);
grid.setVgap(1);
grid.setPadding(new Insets(36));
grid.setGridLinesVisible(true);
Rectangle temp = new Rectangle(dimension_x,dimension_y);
Rectangle temp2 = new Rectangle(dimension_x,dimension_y);
Rectangle temp3 = new Rectangle(dimension_x,dimension_y);
Rectangle temp4 = new Rectangle(dimension_x,dimension_y);
grid.add(temp, 0,0);
grid.add(temp2, 1,1);
grid.add(temp3, 2,2);
grid.add(temp4, 3,3);
for (final Node node : grid.getChildren())
{
Rectangle tempvar = (Rectangle) node; //Errors out at javafx.scene.Group cannot be cast to javafx.scene.shape.Rectangle
node.getStyleClass().add("box");
//tempvar.setFill(Color.TRANSPARENT);
//tempvar.setStroke(Color.WHITE);
}
は私のグリッドをループする方法はありますし、オブジェクトを変更できますか?
なし 'grid.add(グループ)は'あなたのどこかにありませんあなたは確認していますコード? –
明日チェックします。私はグリッドに何かを加えたとは思わない。私はコードを貼り付けた。私は今すぐベッドに座っています。とにかく現在のタイプを取得するには? (Node to object/type)そのようにすれば、その長方形だけをキャストできますか? – CREW
いつでも 'instanceof'を使うことができます –