JavaFX-Existe-t-il une méthode pour imprimer une image plusieurs fois en utilisant imageview?
Compte tenu du code ci-dessous, j'essaie d'imprimer une seule image (stockée dans la variable 'image') plusieurs fois. Des suggestions sur la façon dont je ferais cela? Toute information serait utile.
Image image = new Image("tileset.png");
ImageView tileset = new ImageView();
tileset.setImage(image);
Rectangle2D viewport1 = new Rectangle2D(0,16,16,16); //(selected pixels)
tileset.setViewport(viewport1);
int length = 40, width= 40; // declare size of array (print 40x40)
// loop through grid, fill every tile with image 'image'.
// currently only fills position (40,40) with the image.
for(int y = 0; y < length; y++)
{
for(int x = 0; x < width; x++)
{
GridPane.setConstraints(tileset,x,y);
}
}
root.getChildren().add(tileset);
0
1 answers
La méthode GridPane.setConstraints(tileset,x,y)
n'ajoute pas d'enfant à gridpane, elle définit simplement les indices du nœud enfant. Afin de l'ajouter à gridpane vous devriez appeler root.getChildren().add(tileset)
à chaque fois dans la boucle avec un nouveau ImageView
.
Image image = new Image("tileset.png");
Rectangle2D viewport1 = new Rectangle2D(0,16,16,16); //(selected pixels)
int length = 40, width= 40; // declare size of array (print 40x40)
// loop through grid, fill every tile with image 'image'.
// currently only fills position (40,40) with the image.
for(int y = 0; y < length; y++)
{
for(int x = 0; x < width; x++)
{
ImageView tileset = new ImageView(image);
tileset.setViewport(viewport1);
GridPane.setConstraints(tileset,x,y);
root.getChildren().add(tileset);
}
}
2
Author: Omid, 2016-12-12 03:31:57