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 :

Problème de JScrollPane


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut Problème de JScrollPane
    Bonjour,

    Je m'excuse par avance de poster sur un sujet déjà plusieurs fois abordé mais les réponses apportées ne répondent pas à mon problème (ou je ne les ai pas comprises).
    Donc j'ai copié un petit programme dans un livre (introduction à java) et j'ai voulu le modifier un peu mais cela ne me donne pas ce que je souhiate (faire défiler une image dans un JScollPane).
    Voici la seule partie de code modifiée.
    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
     
    	public static void main(String[] args)
    	{
    		JFrame frame = new JFrame("Iguana");
    		Container c = frame.getContentPane();
    		c.setLayout(new BorderLayout());
    		JScrollPane Jsp = new JScrollPane(new Iguana());
    		c.add(Jsp, BorderLayout.CENTER);
     
    		//c.add(new Iguana(), BorderLayout.CENTER);
     
    		frame.setSize(1000,1000);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.setVisible(true);
     
    	}
    Donc j'ai seulement intercalé un JScrollPane pour contenir mon image mais les ScrollBar n'apparaissent pas alors que le composant Iguana mesure 3000x2078.
    Pourquoi ? Ca doit être tout bête mais je n'y arrive pas.

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Bonjour,
    Comment fixes-tu la taille de Iguana ?
    Peux-tu nous montrer le code de cette classe ?

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut
    Citation Envoyé par Mathieu.J Voir le message
    Bonjour,
    Comment fixes-tu la taille de Iguana ?
    Peux-tu nous montrer le code de cette classe ?
    Merci de ta réponse, voilà le code de Iguana (j'ai rajouté la taille pour qu'elle corresponde à la taille de l'image).
    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
     
    public class Iguana extends JComponent
    {
    	private Image image;
    	private int theta;
     
    	public Iguana()
    	{
    		image = Toolkit.getDefaultToolkit().getImage("Cartes/Hongrie/1001/carte.png");
    		theta = 0;
    		this.setSize (3000, 2780);
    		addMouseListener(new MouseAdapter()
    						{
    							public void mousePressed(MouseEvent me)
    							{
    								theta = (theta +15) % 360;
    								repaint();
    							}
    						});
    	}
     
    	public void paint(Graphics g)
    	{
    		Graphics2D g2 = (Graphics2D) g ;
    		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    		int cx = getSize().width/2;
    		int cy = getSize().height/2;
     
    		g2.translate(cx, cy);
    		g2.rotate(theta*Math.PI/180);
     
    		Shape oldClip = g2.getClip();
    		Shape e = new Ellipse2D.Float(-cx,-cy,cx*2,cy*2);
    		g2.clip(e);
     
    		Shape c = new Ellipse2D.Float(-cx,-cy, cx*3/4,cy*2);
    		g2.setPaint(new GradientPaint(40,40,Color.blue, 60,50,Color.white, true));
    		g2.fill(c);
     
    		g2.setPaint(Color.yellow);
    		g2.fillOval(cx/4,0,cx,cy);
     
    		g2.setClip(oldClip);
     
    		g2.setFont(new Font("Times New Roman", Font.PLAIN, 64));
    		g2.setPaint(new GradientPaint(-cx, 0, Color.red, cx, 0, Color.black, false));
    		g2.drawString("Hello, 2D ! ", -cx*3/4, cy/4);
    		AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, (float).75);
    		g2.setComposite(ac) ;
    		g2.drawImage(image, -cx/2,-cy/2,this);
    		Shape r = new RoundRectangle2D.Float(0,-cy*3/4,cx*3/4,cy*3/4,20,20);
    		g2.setStroke(new BasicStroke(4));
    		g2.setPaint(Color.magenta);
    		g2.fill(r);
    		g2.setPaint(Color.green);
    		g2.draw(r);
     
     
    	}

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut
    Bon j'ai trouvé grâce à cette explication que je n'avais pas vu lors de mes premières recherches : http://www.developpez.net/forums/d30...ulette-souris/

    Il faut utiliser setPreferredSize et non pas setSize.

  5. #5
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Citation Envoyé par Patrice Henrio Voir le message
    Il faut utiliser setPreferredSize et non pas setSize.
    D'où ma question "Comment fixes-tu la taille de Iguana ?" à l'origine .

    Pense au tag

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut
    Citation Envoyé par Mathieu.J Voir le message
    D'où ma question "Comment fixes-tu la taille de Iguana ?" à l'origine .

    Pense au tag
    En effet.

    A plus.

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

Discussions similaires

  1. Problème de JScrollPane
    Par flames dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 12/05/2007, 21h21
  2. Problème avec jscrollpane
    Par mmb04 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 11/05/2007, 13h51
  3. Problème de JScrollPane
    Par Bibou06 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 08/09/2006, 18h30
  4. problème de JScrollPane hellp svp :?
    Par sironimo dans le forum Composants
    Réponses: 6
    Dernier message: 22/12/2005, 13h03
  5. Problème avec JScrollPane et label
    Par gl0be dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 26/11/2004, 17h08

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