2010-04-15 5 views
3

J'essaie d'utiliser un JScrollPanel pour afficher un JPanel qui pourrait être trop grand pour le Jpanel contenant. Je ne veux pas montrer les barres de défilement (oui, c'est une conception d'interface douteuse, mais c'est ma meilleure estimation de ce que le client veut.) Nous utilisons la même idée d'autres endroits dans l'application, et je ressens ce cas me ont donné assez de temps pour réfléchir si je peux le faire une meilleure façon, mais si vous avez une meilleure idée que je pourrais accepter une réponse)JScrollPanel sans barres de défilement

Première tentative:. ensemble verticalScrollBarPolicy à jamais. Résultat: le défilement à l'aide de la molette de la souris ne fonctionne pas.

Deuxième tentative: définissez les barres de défilement sur null. Résultat: le défilement à l'aide de la molette de la souris ne fonctionne pas.

Troisième tentative: Définir la propriété visible de la barre de défilement sur false. Résultat: Il est immédiatement visible par Swing.

Quatrième tentative: injecter une barre de défilement où setVisible est substituée pour ne rien faire lorsqu'elle est appelée avec true. Résultat: Je ne me souviens plus exactement, mais je pense que ça n'a pas marché.

Cinquième tentative: injecter une barre de défilement où setBounds est substituée. Résultat: Je n'ai pas l'air gentil. (J'ai peut-être manqué quelque chose ici, cependant.)

Sixième tentative: ask stackoverflow. Résultat: travaillé comme un charme cette fois.

Le défilement fonctionne une fois que les barres de défilement sont de retour.

+1

qu'est ce que JScrollPanel? vouliez-vous dire JScrollPane? - peut vouloir éditer –

Répondre

11
scrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(0,0)); 

Cachera la barre de défilement et vous laissera défiler avec la molette de la souris.

Questions connexes