Ajouter un panel à un scrollpane

Signaler
Messages postés
64
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
17 juillet 2009
-
lindoud
Messages postés
1
Date d'inscription
dimanche 29 juillet 2007
Statut
Membre
Dernière intervention
6 mars 2009
-
Salut,
Je voudrais ajouter un jpanel à un scrollpane, voilà mon code:

   JScrollPane jScrollPane1 = new JScrollPane();
   JPanel jPanel2 = new JPanel(); //Le panel que j'ajoute au scrollpane
   jScrollPane1.setBounds(new Rectangle(361, 94, 339, 485));
   jPanel2.setBorder(BorderFactory.createEtchedBorder());
   jPanel2.setLayout(null);
   jScrollPane1.getViewport().add(jPanel2, null);
   jPanel1.add(jScrollPane1, null); //Le panel principal


le problème est que j'ai le scrollpane qui marche uniquement lorsque j'enlève l'instruction:
jPanel2.setLayout(null);


Mais j'ai besoin que le setLayout du panel soit à null, parce que je crée dynamiquement des composants que je lui rajoute après.


Comment faire pour que ça fonctionne lorsque je garder le setLayout à null.
Merci pour votre aide.

3 réponses

Messages postés
90
Date d'inscription
mercredi 24 décembre 2008
Statut
Membre
Dernière intervention
4 février 2009

salut

essait ca, sait-on jamais...

JScrollPane jScrollPane1 = new JScrollPane();
JPanel jPanel2 = new JPanel();
jScrollPane1.setBounds(new Rectangle(361, 94, 339, 485));
jPanel2.setBorder(BorderFactory.createEtchedBorder());
jScrollPane1.getViewport().add(jPanel2, null);

jPanel2.setLayout(null);

jPanel2.revalidate();

// pour être sur:

System.out.println (jPanel2.getLayout())

jPanel1.add(jScrollPane1, null);
J'espère que ca résout ton problème!
chris081

<hr width="100%" />

Est-ce que les femmes pètent autant que les hommes ?
Oui. Cependant, les hommes semblent en tirer plus de gloire que les femmes.

Retrouvez l'intégrale ici
Messages postés
64
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
17 juillet 2009

Merci chris081 pour ta réponse, j'ai essayé mais ça ne marche pas, j'ai le meme résultat. Je ne comprend pas pourquoi ça pose un problème lorsque le layout du panel est null. C'est bizarre.
Messages postés
1
Date d'inscription
dimanche 29 juillet 2007
Statut
Membre
Dernière intervention
6 mars 2009

Bonjour,
Essayer toujours de vérifier que :
1- le contenue  de votre panel1 (conteneur de jscrollpne) est plus petit que celui du panel2 ( le contenue de Jscrollpane)
    (si vous essayer de diminuer la taille de JLabel que j'ai mis, le jscrollpane ne s'affichera pas directement, à moins que vous essayer de diminuer la taille de toute la fenêtre)
2- utiliser le : BorderLayout()
(j'ai essayé avec le Boxlayout , mais ça n'a pas marcher !!)

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
class MainClass extends JPanel {
  public static void main(String[] args) {
    JFrame frame = new JFrame();

    JPanel jPanel1 = new JPanel(); //Le panel que j'ajoute au scrollpane
     jPanel1.setLayout(new BorderLayout());
     JScrollPane jScrollPane1 = new JScrollPane();
    
   JPanel jPanel2 = new JPanel(); //Le panel que j'ajoute au scrollpane
   jPanel2.add(new JLabel("aaaaaaaaaaaaaaaa"));
   jScrollPane1.getViewport().add(jPanel2,BorderLayout.CENTER);
   jPanel1.add(jScrollPane1, null); //Le panel principal
   
    frame.getContentPane().add(jPanel1);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(100, 100);
    frame.setVisible(true);
  }
}

*****************************

Ingénieur en Télécommunications
Mastère en cours: Dévéloppement d'une plateforme d'aide à la conception des systèmes Ultra Wide Web
Outil: Java, Matlab