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 :

Rectangle de selection


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par défaut Rectangle de selection
    Bonjour,
    Je viens de parcourir quelques post de ce forum mais je ne trouve pas ce que je veux. Je cherche à créer un rectangle de sélection. J'ai pensé à utiliser le mode XOR mais cela ne me fait qu'apparaitre des "trainées" de rectangle... Je préférerais éviter d'avoir à utiliser un repaint() car j'ai pas mal d'éléments à afficher simultanément. Je vous joint la méthode associée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public void mouseDragged (MouseEvent e)
    		{
     
    			if (e.getButton()==e.BUTTON1)
    			{
    				Graphics g=motherFrame.getGraphics();
    				g.setXORMode(new Color (255, 255, 255));
    				int x = e.getX();
    				int y = e.getY();
    				rectWidth = Math.abs(xStart-x);
    				rectHeight = Math.abs(yStart-y);
    				g.fillRect(xStart, yStart, rectWidth, rectHeight);
    			}}
    Je crois que la vérification que c'est bien le bouton 1 qui est enfoncé n'est pas correct et seul le cas de la sélection du haut vers le bas est geré mais ce sont des problèmes que je resolverais une fois que j'aurais résolu celui-ci.
    Merci

  2. #2
    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
    Il te faut créer un java.awt.BufferedImage pour construire toute ton image.
    Ensuite, dans la méthode "paintComponent", tu affiches ton image puis tu dessines ton rectangle de sélection. Pour les coordonnées du rectangle de selection, tu passes par des données membres de la classe modifiées dans le listener de la souris.
    Avec cette technique, tu fais un repaint qui ne prend presque pas de temps
    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.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par défaut
    Merci, pour préciser, je suis en ecole d'ingénieur et j'ai pour contrainte de ne pas utiliser de repaint à ce niveau... Ca ne tiendrai que de moi, le probléme serait deja resolu mais à cause des contraintes pedagogiques ce n'est pas du tout le cas!

  4. #4
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    La méthode du XOR, (est-ce encore utilisée ?) nécessite d'appliquer 2 fois le rectangle dans ce mode, ce qui se ramène à l'identité. Ainsi avant de l'afficher dans une nouvelle position tu le redessine dans l'actuelle.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par défaut
    MERCI!
    C'est exactement ce que je cherchais depuis deux heures!

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

Discussions similaires

  1. Dessiner un rectangle de selection
    Par halfa51 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 03/02/2008, 07h16
  2. dessiner un rectangle de selection au dessusd'un panel
    Par salihovic dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/01/2008, 11h32
  3. Dessiner rectangle de selection inversé.
    Par quentinthib dans le forum OpenGL
    Réponses: 2
    Dernier message: 27/08/2007, 00h44
  4. faire rectangle de selection puis cut/paste
    Par linkB2 dans le forum 2D
    Réponses: 4
    Dernier message: 28/04/2006, 12h02
  5. Rectangle de selection
    Par Invité dans le forum Composants VCL
    Réponses: 9
    Dernier message: 27/02/2006, 16h04

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