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 :Mais un mauvais effet est causé:
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));
- 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 leSi 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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part tabbedPane.setPreferredSize(new Dimension(830, 680));
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.
Partager