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 :

[GEF] Associer une image à une figure


Sujet :

Eclipse Platform

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Points : 63
    Points
    63
    Par défaut [GEF] Associer une image à une figure
    Bonjour,

    J'ai créé une classe qui étend la classe abstrait Figure et qui implémente l'interface IFigure.
    J'arrive à créer ma figure et à l'afficher dans un éditeur (un simple rectangle gris).
    Seulement voilà, je voudrais remplacer le "gris" par une image gif.
    Savez-vous comment faire svp?

    Merci,
    Nico

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    j'ai finalement modifié ma classe pour qu'elle étende la classe ImageFigure qui semble correspondre à mes besoins.
    En voici un aperçu :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    public class MyImageFigure extends ImageFigure {
        /** Figure height. */
        private static final int FIGURE_HEIGHT = 50;
     
        /** Figure width. */
        private static final int FIGURE_WIDTH = 50;
     
        /** Bar height. */
        private static final int BAR_HEIGHT = 25;
     
        /** Background color of the figure. */
        private static final Color BACKGROUND_COLOR = ColorConstants.lightGray;
     
        /** The contain attribute. */
        private Panel contain = null;
     
        /** The pane attribute. */
        private IFigure pane = null;
     
        /**
         * Default constructor.
         */
        public MyImageFigure() {
            //first, call super constructor
            super();
     
            //put background color of main panel
            setBackgroundColor(BACKGROUND_COLOR);
            setSize(FIGURE_WIDTH, FIGURE_HEIGHT);
     
            FrameBorder frameBorder = new FrameBorder();
            frameBorder.setLabel("frame border");
     
            setBorder(frameBorder);
            contain = new Panel() {
                public Rectangle getBounds() {
                    return (new Rectangle(
                            MyImageFigure.this.getLocation().x,
                            MyImageFigure.this.getLocation().y + BAR_HEIGHT,
                            MyImageFigure.this.getSize().width,
                            MyImageFigure.this.getSize().height - BAR_HEIGHT));
                }
            };
     
            add(contain);
            contain.setLayoutManager(new BorderLayout());
     
            pane = new FreeformLayer();
            pane.setLayoutManager(new FreeformLayout());
     
            ScrollPane scrollpane = new ScrollPane();
            contain.add(scrollpane, BorderLayout.LEFT);
            scrollpane.setViewport(new FreeformViewport());
            scrollpane.setContents(pane);
            Image image = new Image(null, 
                    "/chemin/vers/mon/image/mon_image.gif");
            setImage(image);
            //repaint();
        }
    Seulement voilà, ma figure apparait bien avec un fond gris, mais l'image associée ne s'affiche pas.
    Voyez-vous quelque chose qui ne va pas ou qui manque dans mon code?

    Merci d'avance de vos suggestions.

    Nico

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    J'ai finalement remplacer ma variable contain (Panel) par une ImageFigure et quelques méthodes utilitaires et tout marche bien.
    En espérant que çà serve à d'autres.

    nico

  4. #4
    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
    Bonsoir,

    Peux tu donner ton exemple au complet. Je suis vraiment dans le besoin.

    merci d'avance.

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

Discussions similaires

  1. [VB.NET] Association D'images à une liste de personnes.
    Par canBelive dans le forum Débuter
    Réponses: 4
    Dernier message: 27/09/2012, 19h46
  2. [AC-2007] Associer une image à une référence
    Par antoniodebutant dans le forum IHM
    Réponses: 5
    Dernier message: 19/04/2012, 08h30
  3. associer un commentaire à une image
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/06/2008, 14h43
  4. [MySQL] associer une image à une fiche
    Par gmorin dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/05/2007, 13h24
  5. erreur : associer une image à une Ctrlist
    Par jerry72000 dans le forum MFC
    Réponses: 1
    Dernier message: 09/03/2007, 17h11

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