Bonjour.

Quand on décide d'employer un JScrollPanel parce que l'objet à afficher (un JPanel contenant un GroupLayout, dans mon cas) est plus long que la hauteur du conteneur (un tabPanel1 d'un JTabbedPane, dans mon cas), alors que la largeur de cet objet JPanel est inférieure à la largeur de ce conteneur, on obtient
- l'ascenceur vertical (à droite du tabPanel1) sans l'ascenceur horizontal (sous le tabPanel1).
- le JPanel positionné à la gauche du tabPanel1
A l'aide d'un GridBagLayout, je tente de positionner le JPanel au milieu horizontal du tabPanel1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
        scrollPanel1 = new donnéesDEntrée().getScrollPanel();
        JPanel tabPanel1 = new JPanel();
        tabPanel1.setLayout(new GridBagLayout());
        GridBagConstraints grBgConstraints = new GridBagConstraints();
        // No grBgConstraints.gridx, .gridy, .gridwidth, .gridheight ...
        grBgConstraints.fill = GridBagConstraints.CENTER;
        tabPanel1.add(scrollPanel1, grBgConstraints);
        tabbedPane.addTab("Sélection fichier", icon, tabPanel1, "blabla");
        tabbedPane.setPreferredSize(new Dimension(830, 680));
Mais un mauvais effet est causé:
- Le tabPanel1 paraît comme voulu au milieu horizontal du tabpanel (mais dans un cadre non voulu).
- j'ai perdu les deux ascenseurs. Si je réduis la frame principale pour retrouver l'un d'eux ou les deux, le tabPanel1 disparaît complètement ! C à d si je tente de passer d'un tant soit peu sous la largeur ou la hauteur initiale du tabbedPane, définie par le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
tabbedPane.setPreferredSize(new Dimension(830, 680));
Si je n'implémente pas ce 'setPreferredSize()', à l'affichage initial, mon HMI prend une dimension dépassant l'écran, à cause de la dimension d'un des autres 'tabPanel', et je n'ai plus aussi d'affichage des ascenseurs.

Autrement dit : Comment faire coexister un tabbedPane doté d'un 'setPreferredSize()' avec un Jpanel habritant un GridBagLayout, lui-même habritant au centre un JScrollPane (, lui-même habritant un GroupLayout()).

Merci d'avance à ceux qui tentent de m'aider.