JScrollPane et Layout à null

Kael_Kael Messages postés 7 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 2 juin 2004 - 1 juin 2004 à 16:13
Kael_Kael Messages postés 7 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 2 juin 2004 - 2 juin 2004 à 09:00
Bonjour,
je développe actuellement une interface graphique affichant une hiérarchie. Cette hiérarchie est entièrement faite à la mains.

Ainsi, dans mon interface graphique je suis amené à utiliser un JPanel A avec un layout null. Cela m'est nécessaire afin de pouvoir placer des JPanel B en précisant manuellement leurs emplacements dans le JPanel A.

Bien qu'en ayant mis mon JPanel A dans un JScrollPane, lorsque celui-ci se trouve être trop grand pour la fenêtre, les ascenceurs n'apparaissent pas :(

Y a t'il un moyen de conserver le placement de les JPanel B tout en ayant des ascenceurs ?

Kael Kael

2 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
1 juin 2004 à 20:19
JScrollPane jScrollPane1 = new JScrollPane();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
jPanel1.setLayout(null);
jPanel2.setBounds(new Rectangle(34, 8, 338, 73)); jPanel3.setBounds(new Rectangle(34, 99, 338, 73));
this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
jScrollPane1.getViewport().add(jPanel1, null);
jPanel1.add(jPanel2, null);
jPanel1.add(jPanel3, null);
0
Kael_Kael Messages postés 7 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 2 juin 2004
2 juin 2004 à 09:00
Merci de ton aide, mais j'ai toujours le même problème.
Sur une adaptation de ton code comme suit, lorsque je réduit la taille de la fenêtre, les rectangles gris (jPanel1 et jPanel2) ne tiennent plus dans la fenêtre, mais les ascenceurs n'apparaissent pas :(
Je souhaiterai que les ascenceurs apparaissent lorsque la fenêtre est trop petite pour tout afficher.

public class PanelDansJScroll extends JFrame {
public PanelDansJScroll(){
JScrollPane jScrollPane1 = new JScrollPane();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
jPanel1.setLayout(null);
jPanel2.setBounds(new Rectangle(34, 8, 338, 73));
jPanel3.setBounds(new Rectangle(34, 99, 338, 73));
this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
jScrollPane1.getViewport().add(jPanel1, null);
jPanel1.add(jPanel2, null);
jPanel1.add(jPanel3, null);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
System.exit(0);
}
});
jPanel1.setBackground(Color.WHITE);
setVisible(true);
setSize(200,300);
show();
}
}

Kael Kael
0
Rejoignez-nous