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

2D Java Discussion :

listener sur dessin


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut listener sur dessin
    Bonjour,

    je fais actuellement un petit projet de dessin en Java.

    J aimerais pouvoir effacer certaines formes que l utilisateur a créée.

    J ai pensé qu il serait possible d attacher un listener à une forme de souris mais je n y arrive pas.

    J ai entendu vu aussi qu il serait possible de le dessin dans une JPanel mais je n y arrive pas non plus ...

    Quelqu un aurait il deja fait ca ou une idée ?

  2. #2
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    Citation Envoyé par einboubou
    J ai entendu vu aussi qu il serait possible de le dessin dans une JPanel
    Utilise PaintComponent()

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Donne le code que tu as commencé.
    Pour les formes supprimables, il faut sauver les coordonnées de chaque formes dans une liste. Lorsqu'une forme est sélectionnée, il faut la supprimer de la liste et refaire le dessin. Tu peux aussi utiliser plusieurs images différentes : une pour le fond, une autre pour l'affichage des formes... Il y a des millions de possibilités, à toi de réfléchir et de voir laquelle te convient le mieux.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 55
    Par défaut
    Bonjour,
    Tu peux aussi utiliser le pattern Mémento, pour sauvegarder les états
    précédents, et grâce à un bouton undo tu retrouves l'état précédent du dessin jusqu'à remonter au début.

    bonne continuation.


  5. #5
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Salut,

    Je crois que le magnifique tutoriel de Christophe Dujardin répondra à bon nombre de tes questions.

  6. #6
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par einboubou Voir le message
    Bonjour,

    je fais actuellement un petit projet de dessin en Java.

    J aimerais pouvoir effacer certaines formes que l utilisateur a créée.

    J ai pensé qu il serait possible d attacher un listener à une forme de souris mais je n y arrive pas.

    J ai entendu vu aussi qu il serait possible de le dessin dans une JPanel mais je n y arrive pas non plus ...

    Quelqu un aurait il deja fait ca ou une idée ?
    pour effacer certaine forme tu peut creer un bouton et lorsque tu clique dessus ,tu dessine des cercles avec fillOval(...) ayant pour couleur la couleur de ton JPanel.
    pour les listener ,cherche la documentation sur MouseListener..MouseMotionListener...

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    C'est une mauvaise idée surtout si on utilises des couleurs transparentes notamment si on a abstrait le rendu pour se détacher du JPanel et pouvoir rendre sur n'importe quelle surface (ex : Graphics d'image ou d'imprimante).

    La meilleure solution consiste à conserver les formes (ainsi que leurs couleurs de remplissage, couleur de contour et Stroke) dans une liste, une map ou un arbre. Le stockage sous forme d'arbre est bien sur le plus optimisé pour le temps d'accès mais il faudra bien réfléchir à comment organiser les formes. La liste et la map restent le plus simple à mettre en place.

    En appelant la variante de repaint() qui prend les coordonnées particulières et en faisant des tests de collision dans le paintComponent() on évite de devoir redessiner des choses inutiles.

    Il est possible d'utiliser une image offscreen mais ce n'est pas vraiment obligatoire.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. Listener sur JTable
    Par calypso dans le forum Composants
    Réponses: 3
    Dernier message: 05/02/2009, 16h27
  2. Language]Listener sur booléen
    Par harris_macken dans le forum Langage
    Réponses: 9
    Dernier message: 12/06/2005, 00h25
  3. [LISTENER] sur l'insertion de cd
    Par divxdede dans le forum Multimédia
    Réponses: 2
    Dernier message: 03/07/2004, 11h28
  4. [JSlider] listener sur Jslider
    Par Garion dans le forum Composants
    Réponses: 4
    Dernier message: 31/05/2004, 13h33
  5. Listener sur un JPanel
    Par ptitelfe dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 27/03/2004, 13h14

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