Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pas de ScrollBar pour un JScrollPane

2 réponses
Avatar
yvon.thoravalNO-SPAM
Bonjour,

je me demande d'où peut provenir un pb avec un JScrollPane qui n'affiche
pas le ScrollBar vertical (l'horizontal si)

dans ce JScrollPane il y a un JTree qui dépasse la vue quand je le
déploie et, dans ce cas, le ScrollBar vertical n'apparaît pas.

ce JScrollPane est lui-même dans un JPanel occupant la partie gauche
d'un JSplitPane...

merci d'avance...

--
yt

2 réponses

Avatar
Thibaut Desmarest
Yvon Thoraval wrote:
Bonjour,

je me demande d'où peut provenir un pb avec un JScrollPane qui n'affiche
pas le ScrollBar vertical (l'horizontal si)

dans ce JScrollPane il y a un JTree qui dépasse la vue quand je le
déploie et, dans ce cas, le ScrollBar vertical n'apparaît pas.

ce JScrollPane est lui-même dans un JPanel occupant la partie gauche
d'un JSplitPane...

merci d'avance...



Ben soit l'affcihage de la Vertical ScrollBar est positionné sur NEVER
mais ca m'etonnerait que tu sois fait avoir comme ça quand même...

Soit, si la barre ne s'affiche pas c'est parceque tu as mal défini la
vue. La JScrollbar n'apparait que quand elle comprend que le composant
est sorti de la taille du panneau, donc si la vue sur le composant n'est
pas bien définie...

Je sais pas si j'ai été bien clair...

Avatar
yvon.thoravalNO-SPAM
Thibaut Desmarest wrote:


Soit, si la barre ne s'affiche pas c'est parceque tu as mal défini la
vue. La JScrollbar n'apparait que quand elle comprend que le composant
est sorti de la taille du panneau, donc si la vue sur le composant n'est
pas bien définie...


Oui, en fait j'ai "squatté" une JFrame en ajoutant un JSplitPane et
dedans un JSrcollPane contenant un JTree, le probème est que pour avoir
la vertical ScrollBar je dois faire :

treeAggregate.setBounds(new Rectangle(inset,
inset,
260-2*inset,
b.height-2*inset));
avec

treeAggregate = createTree();
treeAggregate.setBorder(new BevelBorder(BevelBorder.LOWERED));
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
treeAggregate, mainPanel);
splitPane.setOneTouchExpandable(true);
splitPane.setDividerLocation(260);

et :

public JScrollPane createTree()
{
treewwa = new IconNodeTreeWwaShema();
JScrollPane scrollpane = new JScrollPane(treewwa.getJTree());

return scrollpane;
}


bon MAIS, le setBounds(...) fait que le JSPlitPane, bien évidemment, ne
suit plus quand je drag la séparation, c'est-à-dire que, ça suit mais le
JSCrollPane reste à la même largeur.

et, comme j'ai hacké un design original qui n'est pas de moi, je ne vois
pas comment en sortir.

En résumé :

- sans le setBounds() pas de ScrollBar ;
- avec le setBounds() j'ai le ScrollBar mais la largeur du JScrollPane
ne suit plus (évidemment !) la position de la séparation du
JSplitPane...
--
yt