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

Agents de placement/Fenêtres Java Discussion :

LayeredPanel, image, et Scroll


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 37
    Par défaut LayeredPanel, image, et Scroll
    Bonjour,

    j'essaie depuis pas mal de temps déjà de réaliser une application où l'utilisateur pourra placer des points sur une carte. J'ai plusieurs choses que je souhaiterai avoir: la map de grande taille dans un panel avec deux scrolls (vertical et horizontale), et le placement de point via des "coordonnées" qui correspondront en fait aux pixels de mon image. Le coté placement de point il n'y a pas trop de soucis, je place des panels sur un layeredPanel mais pas moyen de une image la dessus, et je ne parle pas des scrolls. Est ce que quelqu'un aurait une solution s'il vous plait?
    Il me faudrait un moyen d'avoir une map "scrollable", et dessus la possibilité de mettre des points fixes par rapport à la carte meme si on scroll.

    Merci

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tout dessiner sur un même composant et bien penser à gérer la zone de clipping dans le 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
    Voici un exemple très simpliste :
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.image.BufferedImage;
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
     
     
    public class ClicNscroll extends JPanel implements MouseListener
    {
    	public static void main( String arg[] )
    	{
    		new ClicNscroll( 800, 600 );
    	}
     
    	private BufferedImage buffer;
    	private Graphics graph;
     
    	public ClicNscroll( int large, int haut )
    	{
    		buffer = new BufferedImage( large, haut, BufferedImage.TYPE_INT_ARGB );
    		graph = buffer.getGraphics();
    		graph.setColor( Color.BLACK );
    		addMouseListener( this );
    		JFrame frame = new JFrame( "ça scroll" );
    		frame.getContentPane().setLayout( new BorderLayout() );
    		frame.getContentPane().add( new JScrollPane( this ), BorderLayout.CENTER );
    		frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    		frame.setSize( 300, 200 );
    		frame.setVisible( true );
    	}
     
    	@Override
    	public void paintComponent( Graphics g )
    	{
    		super.paintComponent( g );
    		g.drawImage( buffer, 0, 0, this );
    	}
     
    	@Override
    	public Dimension getMinimumSize() { return new Dimension( buffer.getWidth(), buffer.getHeight() ); }
     
    	@Override
    	public Dimension getPreferredSize() { return getMinimumSize(); }
     
    	@Override
    	public void mouseClicked( MouseEvent event )
    	{
    		graph.fillOval( event.getX() - 10, event.getY() - 10, 20, 20 );
    		repaint();
    	}
     
    	@Override
    	public void mouseEntered( MouseEvent arg0 ){}
    	@Override
    	public void mouseExited( MouseEvent arg0 ){}
    	@Override
    	public void mousePressed( MouseEvent arg0 ){}
    	@Override
    	public void mouseReleased( MouseEvent arg0 ){}
    }
    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.

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

Discussions similaires

  1. Déplacer image au scroll de la page
    Par aztix dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 22/01/2014, 15h12
  2. Image à afficher + Scroll
    Par psal78 dans le forum 2D
    Réponses: 1
    Dernier message: 23/05/2007, 17h16
  3. superposition d'images et scroll
    Par straasha dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 23/03/2007, 08h23
  4. [javascript] Scroll avec une image
    Par Salih-du-91 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/10/2005, 07h46
  5. [JPanel] Affichage d'une image et scrolling
    Par unknown4 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 15/09/2005, 00h09

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