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

AWT/Swing Java Discussion :

[Composant] Création d'un JComponent


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 72
    Points : 52
    Points
    52
    Par défaut [Composant] Création d'un JComponent
    Bonjour.

    Je suis actuellement entrain de développer une application dans laquelle j'affiche différents points dans un JPanel.

    J'utiliise donc une methode paintComponent pour l'afficher dans le panel.

    J'aimerais maintenant pouvoir cliquer sur ce point. Hélas le point (en tant que composant) n'étans pas représentable je ne peux pas cliquer dessus.

    J'ai donc essayé de créer une classe dérivant de JComponent (JNoeud) me permettant de visualiser mon composant (par un point) dans mon JPanel.

    Mon problème vient du faite que je n'arrive pas à définir la représentation graphique de mon objet. Il semblerait (d'après le doc de sun) que je dois créer un ComponentUI qui sera la représentation de mon objet. J'ai beau parcourir la javadoc dans tous les sens je ne trouve pas le moyen de créér un ComponentUI et de lui donné la représentation graphique que je souhaite (ex: un cercle gris)

    Si quelqu'un pourrait m'aider cela serait génial.

    Voici le code de ma classe JNoeud si cela peux vous etre utile :

    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
    public class JNoeud extends JComponent implements MouseListener{
     
    	protected int id;
    	protected Coords mesCoords;
    	protected ComponentUI gui;
    	protected String monNom;
     
    	public JNoeud(int idN,Coords c, String nom){
    		super();
    		mesCoords = c;
    		id=idN;
    		monNom=nom;
    		/*et la j'aimerias creer mon ComponentUI*/
    	}
       .......
     
    }


    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Membre confirmé Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Points : 510
    Points
    510
    Par défaut
    Si c'est vraiment un point au sens que tout le monde comprend, il me semble inutile de créer un JComponent pour cela. Il vaut mieux mémoriser la position de tous tes points, placer un listener de souris sur ton panneau, et à chaque événement souris rechercher s'il correspond à un des points.

    Qu'en penses-tu ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 72
    Points : 52
    Points
    52
    Par défaut bonne idée
    C'est une très bonne idée ma fois de faire un listener sur mon JPanel. En plus cela pourrait me faciliter pas mal de chose par la suite.

    Je me penche sur cette idée et je vous tiens au courant

    Merci

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

Discussions similaires

  1. Composants création PDF
    Par rxseac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 24/10/2011, 14h09
  2. Réponses: 5
    Dernier message: 28/04/2009, 12h45
  3. [Composant] création d'evenement.
    Par Nicolos_A dans le forum Delphi
    Réponses: 9
    Dernier message: 04/06/2006, 07h27
  4. [Composant] Création de catégorie de propriété
    Par Andry dans le forum Composants VCL
    Réponses: 6
    Dernier message: 31/08/2005, 14h39

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