IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Mes images n'apparaissent pas sur mes figures


Sujet :

Eclipse Platform

  1. #1
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2005
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 246
    Points : 159
    Points
    159
    Par défaut Mes images n'apparaissent pas sur mes figures
    J'avais ouvert une discution sur le forum concernant la personnalisation des figures dans GEF avec ShapesDiagrams.

    A présent ça ne marche pas. J'ai créé une classe figure pour mon objet que j'ai tenté de placer dans le Editpart du diagramme (ShapeEditpart.java) au endroit où les figures sont ajoutées au graphe. Mais je n'obtiens rien. Voici les codes :

    1. la classe figure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    package org.eclipse.gef.jcwsl.figure;
     
    import org.eclipse.draw2d.Figure;
    import org.eclipse.draw2d.IFigure;
    import org.eclipse.gef.jcwsl.parts.BackgroundImage;
     
    public class ImpJavaFigure extends Figure{
     
    	public ImpJavaFigure() {
    		createFigure();
    	}
     
    	public IFigure createFigure(){
    		IFigure figure = (IFigure) new BackgroundImage("icons/javaAPI.png");
    		// icons/javaAPI.png est l'image que je veux faire apparaître
    		return figure;
    	}
    }
    2. Dans ShapeEditpart.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private IFigure createFigureForModel() {
    	 ImpJavaFigure figAPI=new ImpJavaFigure();
    	if (getModel() instanceof ImpJava) {return figAPI.createFigure();} 
    //Ellipse();} 
    // ....
    Merci pour votre aide.

  2. #2
    Membre averti
    Avatar de DaveShot
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 238
    Points : 384
    Points
    384
    Par défaut
    Bonjour,
    je pense qu'il te manque un layout pour afficher ta figure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public XXXFigure() {
    		layout = new XYLayout();
    		setLayoutManager(layout);
                    ...
    }
    - N'hésitez pas à consulter les liens vers les FAQs, les cours et tutoriels -

    Daveshot

  3. #3
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2005
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 246
    Points : 159
    Points
    159
    Par défaut
    Merci,

    Pour résoudre mon problème, j'ai créer une classe qui dérive de org.eclipse.draw2d.Shape. Bref, voici un exemple pour ceux qui en auront besoin dans le future.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    package org.eclipse.gef.jcwsl.figure;
     
    import org.eclipse.draw2d.Graphics;
    import org.eclipse.draw2d.Shape;
    import org.eclipse.draw2d.geometry.Point;
    import org.eclipse.draw2d.geometry.Rectangle;
    import org.eclipse.gef.jcwsl.model.CaseElement;
    import org.eclipse.swt.graphics.Image;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.ui.PlatformUI;
     
    public class CaseFigure extends Shape{
     
    	@Override
    	protected void fillShape(Graphics arg0) {
    		// TODO Auto-generated method stub
     
    	}
     
    	@Override
    	protected void outlineShape(Graphics graphics) {
    		 Rectangle r = Rectangle.SINGLETON;
             r.setBounds(getBounds());
             r.width--;
             r.height--;
             r.shrink((lineWidth - 1) / 2, (lineWidth - 1) / 2);
             //graphics.drawOval(r);
             Shell shell=   PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
             Image palm = new Image(shell.getDisplay(), CaseElement.class.getResourceAsStream("/ressources/icons/scase.png")); 
             graphics.drawImage(palm, new Point(r.getLocation()));
    	}
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] Les images n'apparaissent pas sur les pages interne
    Par etoileweb dans le forum Symfony
    Réponses: 6
    Dernier message: 19/11/2010, 12h08
  2. [CS3] Mes images n'apparaissent pas résolu mais en +
    Par Mimile le Tueur dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 16/06/2008, 18h57
  3. [XML] é etc. ne passe pas sur mes navigateurs
    Par Damien R dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 10/11/2006, 15h22
  4. [RCP]mes icons sur mes tree n'apparaissent pas
    Par david06600 dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 10/01/2006, 10h58
  5. [JLabel][HTML]pourquoi mes images s'affiche pas?!
    Par La Truffe dans le forum Composants
    Réponses: 8
    Dernier message: 29/04/2004, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo