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

 Java Discussion :

Zoomer par click souris sur différentes zones d'une carte


Sujet :

Java

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 43
    Points : 2
    Points
    2
    Par défaut Zoomer par click souris sur différentes zones d'une carte
    Bonjour à tous,

    suis nouvelle et debutant en java et je dois realiser une interface graphique.
    la 1ere etape me fatigue dejà, voici mon probleme:

    j'ai une mappemonde que je réussi a lire et afficher dans mon Jframe.
    mais il faut ensuite que je puisse zoomer sur une zone precise a chaque fois que je click sur cette zone de mamappe. comment faire? j'ai vu plusieurs manieres de zommer mais pas avec click souris et selection rectangle.
    voici mon code:
    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
    package GeographicMap;
     
    import javax.swing.*; 
    import java.awt.*; 
    import java.awt.image.*; 
     
     
    public class JPanelImageBg extends JComponent
    {
    	private BufferedImage bufferedImage; 
     
    	JPanelImageBg( String fileName) {
     
    		this.bufferedImage = this.toBufferedImage(Toolkit.getDefaultToolkit().getImage("C:/Documents and Settings/massamba/workspace/mappemonde.jpg")); 
     
    	} 
     
    	public void paintComponent(Graphics g){	
     
    				Graphics2D g2d = (Graphics2D)g; 
    				g2d.fillRect(0, 0, getWidth(), getHeight());
    				g.setColor(this.getBackground());
    				g.fillRect(0,0,getWidth(), getHeight() );
    				g.drawImage(bufferedImage,(getWidth()-bufferedImage.getWidth())/2,(getHeight()-bufferedImage.getHeight())/2,null);
    				super.paintComponents(g);
    		}
     
    	private BufferedImage toBufferedImage(Image image) {	
     
    		image = new ImageIcon(image).getImage(); 
    		BufferedImage bufferedImage = new BufferedImage( image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB); 
    		Graphics g = bufferedImage.createGraphics(); 
    		g.setColor(Color.white); 
    		g.fillRect(0, 0, image.getWidth(null), 
    		image.getHeight(null)); 
    		g.drawImage(image, 0, 0, null); 
    		g.dispose(); 
    		return bufferedImage; 
    	}
     
    }
    merci d'avance

  2. #2
    Membre actif Avatar de Mamypirate
    Homme Profil pro
    Samouraï
    Inscrit en
    Mai 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Samouraï
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 108
    Points : 211
    Points
    211
    Par défaut
    Pour la sélection rectangle, je pense qu'il faut utiliser les event mousePressed et mouseReleased du MouseListener.

    En ce qui concerne le zoom en lui-même peut être tu trouveras ton bonheur ici.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Master Informatique Contrat Professionel
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Master Informatique Contrat Professionel
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Points : 35
    Points
    35
    Par défaut
    Tu peux utiliser la méthode scale de Graphics2D
    Tu l'utilise dans ta methode paintComponent.

    Le zoom, ici sa s'appelle le "scale" qui prend 2 double en paramètres, un pour le zoom sur l'axe des x et l'autre sur l'axe des y.

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 43
    Points : 2
    Points
    2
    Par défaut
    ok merci je vais essayer

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 43
    Points : 2
    Points
    2
    Par défaut
    le probleme est qu'avec ce lien il faut cliquer dans la barre de defilement pour que le zoom se fasse et zomme sur une zone choisi je ne sais comment.
    or moi ce que je veux c 'est pouvoir zoomer sur la partie de la carte sur laquelle j'ai cliquer et selectionner.

    merci d'avance

  6. #6
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 43
    Points : 2
    Points
    2
    Par défaut
    j'arrive pas encore à m'assortir avec toutes ces methodes, je commence vraiment a programmer peux tu detailler merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/08/2010, 12h00
  2. simuler un click souris sur un CButton pb
    Par Emyleet dans le forum MFC
    Réponses: 2
    Dernier message: 13/06/2008, 10h16
  3. Detection de click souris sur form - Besoin d'aide
    Par ggcourtois dans le forum Windows Forms
    Réponses: 11
    Dernier message: 22/03/2007, 15h39
  4. Réponses: 3
    Dernier message: 16/11/2006, 18h06
  5. [J2SE] selection dans jList par click souris
    Par rupteur dans le forum Composants
    Réponses: 6
    Dernier message: 01/12/2005, 13h36

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