pseudo85
Messages postés64Date d'inscriptionmardi 7 février 2006StatutMembreDernière intervention17 juillet 2009
-
3 févr. 2009 à 23:12
lindoud
Messages postés1Date d'inscriptiondimanche 29 juillet 2007StatutMembreDernière intervention 6 mars 2009
-
6 mars 2009 à 09:44
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.
pseudo85
Messages postés64Date d'inscriptionmardi 7 février 2006StatutMembreDernière intervention17 juillet 2009 4 févr. 2009 à 10:06
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.
lindoud
Messages postés1Date d'inscriptiondimanche 29 juillet 2007StatutMembreDernière intervention 6 mars 2009 6 mars 2009 à 09:44
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