Scroll

cs_MELISA Messages postés 72 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 12 février 2008 - 4 févr. 2003 à 20:37
wonchi Messages postés 2 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 4 février 2005 - 16 déc. 2004 à 16:29
Bonjour,

Mon pb est le suivant:
- je veux inserer un gif dans un JPanel, lui-même contenu dans un autre JPanel (je suis obligée d'utiliser un Panel au lieu d'un JLabel afin de garder la taille initiale de l'image)
- ensuite je souhaite intégrer les scrolls au JPanel

code:
JPanel Panel_Principal=new JPanel();
JPanel Panel_Secondaire=new JPanel();
Image monImage=new ImageIcon("image.gif").getImage();
Graphics g;
g.drawImage(monImage,0,0,this);
Panel_Secondaire.paint(g);
JScrollPane sp=new JScrollPane(Panel_Secondaire);
Panel_Principal.add(sp,BorderLayout.CENTER);

Là j'obtient une image toute petite (icône) et pas de scrollbar.
Je vous remercie par avance de votre aide

2 réponses

JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
5 févr. 2003 à 07:25
Il faut creer ton propre JPanel, par exemple :
import javax.swing.*;
import java.awt.*;
public class MonPanel extends JPanel
{
      private ImageIcon image;
      /**
        *   Construit le JPanel
         */
      public MonPanel(String image)
      { 
          image=new ImageIcon(image);
          //Donne la bonne taille
          Dimension dim=new Dimension(image.getIconWidth(), image.getIconHeight());
          setSize(dim);
          setPreferredSize(dim);
          setMinimumSize(dim);
          setMaximumSize(dim);
       }
       /**
         *  dessine le JPanel
         */
       protected void paintComponent(Grphics g)
       {
            image.paintIcon(this,g,0,0);
        }
}


Ensuite tu peux modifier un peu ton code en :
JPanel Panel_Principal=new JPanel();
MonPanel Panel_Secondaire=new MonPanel("image.gif");
JScrollPane sp=new JScrollPane(Panel_Secondaire);
Panel_Principal.add(sp,BorderLayout.CENTER);


Sache que les barre de défillements apparitront au besoin, c'est à dire, si tu diminues ta fenêtre.

JHelp
0
wonchi Messages postés 2 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 4 février 2005
16 déc. 2004 à 16:29
Toi tes un winner !
Bogoss, il suffisait juste de mettre des dimensions (prefere,mini,max..) au panel !!! Merci mec.

W :-p nchi
0
Rejoignez-nous