Dessiner un gadget dans un Graphics2D

Dessiner un gadget dans un Graphics2D - Java - Programmation

Marsh Posté le 25-01-2004 à 10:06:41    

[:banguy] les javateux.
 
J'essaye de faire dessiner des gadgets swings dans un graphics2D venu tout droit de Java2D. Pour cela, j'ai créé une classe proxy pour servir d'intermédiaire :  
 

Code :
  1. class SwingImage extends Image  {
  2. JComponent drawedComponent = null;
  3. SwingImage (JComponent component) {
  4.  drawedComponent = component;
  5.  drawedComponent.setSize(100, 100);
  6. }
  7. public void flush() {
  8.     System.out.println("Flushing..." );
  9. }
  10. public Graphics getGraphics() {
  11.  return drawedComponent.getGraphics();
  12. }
  13. public int getHeight(ImageObserver observer) {
  14.  return this.drawedComponent.getHeight();
  15. }
  16. public Object getProperty(String name, ImageObserver observer) {
  17.  return null;
  18. }
  19. public Image getScaledInstance(int width, int height, int hints) {
  20.  return super.getScaledInstance(width, height, hints);
  21. }
  22. public ImageProducer getSource() {
  23.  return null;
  24. }
  25. public int getWidth(ImageObserver observer) {
  26.  return drawedComponent.getWidth();
  27. }
  28. }


 
L'instancie et le dessine dans mon graphic2D (g2D)  :
 

Code :
  1. SwingImage label = new SwingImage (new JLabel ("Hello" ));
  2. g2d.drawImage (label, new AffineTransform (), null);


 
Mais je n'affiche rien. Les seules membres de SwingImage appelés sont getWidth et getHeight, rien d'utre, et mon gadget ne s'affiche pas. Comment puis-je faire pour réussir à dessinner un JComponent dans un Graphics2D ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 25-01-2004 à 10:06:41   

Reply

Marsh Posté le 25-01-2004 à 10:15:33    

j'y connais pas grand chose en swing, awt, tout ca .... mais tu devrais pas surcharger la méthode paint ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 25-01-2004 à 10:22:05    

Il y a pas de méthodes paint à surcharger [:spamafote]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 25-01-2004 à 10:31:35    

kadreg a écrit :

Il y a pas de méthodes paint à surcharger [:spamafote]


ha ....
 
[:neowen]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 25-01-2004 à 12:12:40    

kad< dans ComponentView (javax.swing.text.ComponentView) ils font à peu près ça, mais il accrochent le composant à peindre au composant qui fait la peinture par un composantQuiFaitLaPeinture.add(composantAPeindre, unObjetDontJAiPasComprisLeRoleMaisCaDoitEtreGeometrique).
 
ce qui fait que la peinture est faite directement dans le paintChildren().


---------------
trainoo.com, c'est fini
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed