2013-10-11 4 views
0

Je construis une application Java FX 2 qui doit montrer des animations sous une image PNG transparente, en dessinant des rectangles aux "Graphiques" d'un panneau situé en dessous d'une vue d'image contenant le image. Après des heures de recherche, j'ai trouvé seulement des exemples qui créent un rectangle et ensuite, l'ajoutent à la scène une fois. Cependant, j'ai besoin de peindre en boucle (toutes les quelques millisecondes) et je n'ai aucune idée de comment peindre directement sur le volet. J'utilise FXML pour construire l'interface graphique.Comment dessiner sous une image transparente en utilisant JAVA FX 2

Il est possible de peindre les graphiques de n'importe quel composant dans Java FX, de la même manière que Swing?

Merci d'avance.

Répondre

0

vue d'image ont une propriété d'opacité .... il serait l'image comme un transparent ..

essayer this..i espère fonctionner.

Image img = new Image(getClass().getResourceAsStream("example.png")); 
ImageView im = new ImageView(img); 
im.setOpacity(0.25); /*its similar like transparency */ 
0

Dans votre fenêtre, vous pouvez ajouter une toile, puis utilisez

GraphicsContext gc = canvas.getGraphicsContext2D(); 

À partir de là, vous pouvez peindre dans le contexte graphique.

Pane pane = new Pane(); 
//probably would want StackPane to layer imageview ontop of canvas 
//otherwise, do your own translations 
Canvas canvas = new Canvas(); 
ImageView image = ....; 
pane.getChildren().addAll(canvas,image); 

GraphicsContext gc = canvas.getGraphicsContext2D(); 
gc.fillRect(2,2,120,120); 
//etc.... 
Questions connexes