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

NetBeans Java Discussion :

Dessin persistent à partir d'un composant de la palette


Sujet :

NetBeans Java

  1. #1
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut Dessin persistent à partir d'un composant de la palette
    Bonsoir à toutes et à tous,

    Je voudrais dessiner dans un composant (JPanel par exemple) issu de la palette de composants graphiques de NetBeans.

    J'y arrive en récupérant le contexte graphique du composant créé et en dessinant dessus mais ... ce dessin n'est pas persistent, il s'efface si je masque la fenêtre.

    Est-il possible de faire du dessin persistent dans les composants issus de la palette "sans avoir à définir une nouvelle classe" ?

    Y a t-il un mécanisme permettant par exemple de dessiner sur un canevas hors écran et que celui-ci soit appelé par la méthode "repaint" du composant ?

    Merci de votre aide.

    Pierre.

  2. #2
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Bonsoir,

    La je n'ai pas tout compris !
    Une chose que l'on peut faire pour placer des composants dans un panel que l'on vient d'ajouter la fenetre, c'est de faire un clic droit sur ce panel puis Design This Container, quand tu as fini, clic droit puis Design Top Container pour retourner à la fenetre principale.

    Si je suis à coté de la question, tu peux recommencer en expliquant le résultat voulu et le point bloquant ?
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  3. #3
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Je souhaite faire un dessin dans un container, par exemple un JPanel venant de la palette et que je nomm "pEssai".

    Disons que je veux dessiner un cercle dans ce composant quand je clique sur un bouton. Je vais avoir quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            Graphics gE = pEssai.getGraphics(); //récupérer le contexte graphique
            Color c = gE.getColor(); //sauvegarder la couleur en cours
            gE.setColor(Color.GREEN); //tracer en vert
            gE.drawRect(20, 20, 150, 50); //dessiner le rectangle
            gE.setColor(c); //repasser à la couleur d'origine
        }
    Je compile, je lance et je clique sur mon bouton : mon cercle s'affiche : c'est bien.

    Maintenant, si je déplace cette fenêtre hors écran ou que je fasse passer une autre fenêtre devant celle où j'ai fait le dessin, ce dernier (le cercle) ne se retrace pas : le dessin n'est pas persistent.

    Il existe une méthode pour rendre ce dessin persistent, cela consiste à créer un composant à partir d'un JPanel (MonPanel extends JPanel) et de surcharger sa méthode "paint" avec le dessin d'un cercle. Ca marche très bien le dessin est persistent, mais ce composant n'est alors pas issu de la palette.

    Je veux (bien que le roi dise nous voulons) pouvoir faire un dessin persistent avec un composant issu de la palette. Existe-t-il un moyen ?

    J'espère que cette fois-ci j'ai été clair.

    N.B. désolé de ramener mon DELPHI (pascal objet), mais ça fonctionne tout seul dans cet environnement. Je pense et suis pratiquement certain (bien que je ne connaisse pas Java) que ce doit être possible ici.

  4. #4
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Citation Envoyé par ChPr
    Il existe une méthode pour rendre ce dessin persistent, cela consiste à créer un composant à partir d'un JPanel (MonPanel extends JPanel) et de surcharger sa méthode "paint" avec le dessin d'un cercle. Ca marche très bien le dessin est persistent, mais ce composant n'est alors pas issu de la palette.
    Un composant ne doit pas obligatoirement faire partie de la palette pour être utiliser dans matisse, tu peux le glisser depuis la fenetre projet (compilé). Puis tu peux rajouter des composants à la palette avec le Palette Manager.

    Pour le problème de dessin, ce n'est pas ma spécialité, j'aurais tout de même utiliser un Canvas au lieu d'un JPanel. Tu trouveras tes réponses sur le forum AWT/Swing

    Citation Envoyé par ChPr
    N.B. désolé de ramener mon DELPHI (pascal objet), mais ça fonctionne tout seul dans cet environnement. Je pense et suis pratiquement certain (bien que je ne connaisse pas Java) que ce doit être possible ici.
    Biensur il sera possible de faire autant avec java qu'avec delphi, mais de facon strictement différente pour la majorité. Attention juste a ne pas essayer de faire comme avec delphi, tu risque de perdre plus de temps
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

Discussions similaires

  1. Faire un dessin persistent
    Par ChPr dans le forum Graphisme
    Réponses: 5
    Dernier message: 06/04/2007, 23h00
  2. lancer script php à partir d'un composant flash
    Par jc_cornic dans le forum Flash
    Réponses: 7
    Dernier message: 11/11/2006, 15h08
  3. Dessiner une image à partir d'un composant
    Par lilou77 dans le forum Interfaces Graphiques en Java
    Réponses: 19
    Dernier message: 16/11/2005, 11h47
  4. Dessiner un cadre autour des composants
    Par Pill_S dans le forum Composants
    Réponses: 5
    Dernier message: 03/07/2004, 14h08
  5. Réponses: 4
    Dernier message: 07/06/2004, 13h34

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