kadreg profil: Utilisateur | 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 :
- class SwingImage extends Image {
- JComponent drawedComponent = null;
- SwingImage (JComponent component) {
- drawedComponent = component;
- drawedComponent.setSize(100, 100);
- }
- public void flush() {
- System.out.println("Flushing..." );
- }
- public Graphics getGraphics() {
- return drawedComponent.getGraphics();
- }
- public int getHeight(ImageObserver observer) {
- return this.drawedComponent.getHeight();
- }
- public Object getProperty(String name, ImageObserver observer) {
- return null;
- }
- public Image getScaledInstance(int width, int height, int hints) {
- return super.getScaledInstance(width, height, hints);
- }
- public ImageProducer getSource() {
- return null;
- }
- public int getWidth(ImageObserver observer) {
- return drawedComponent.getWidth();
- }
- }
|
L'instancie et le dessine dans mon graphic2D (g2D) :
Code :
- SwingImage label = new SwingImage (new JLabel ("Hello" ));
- 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 !
|