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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    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
    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 expérimenté Avatar de Mamypirate
    Homme Profil pro
    Samouraï
    Inscrit en
    Mai 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 108
    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
    Membre averti
    Homme Profil pro
    Master Informatique Contrat Professionel
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    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
    Membre actif
    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
    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, 11h00
  2. simuler un click souris sur un CButton pb
    Par Emyleet dans le forum MFC
    Réponses: 2
    Dernier message: 13/06/2008, 09h16
  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, 14h39
  4. Réponses: 3
    Dernier message: 16/11/2006, 17h06
  5. [J2SE] selection dans jList par click souris
    Par rupteur dans le forum Composants
    Réponses: 6
    Dernier message: 01/12/2005, 12h36

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