Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2977 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JScrollPane(JPanel) = marche pô!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JScrollPane(JPanel) = marche pô!

n°902908
ruready
Posté le 19-11-2004 à 15:59:30  profilanswer
 

Salut,
 
J'ai un probleme avec la classe JScrollPane.
 
Je l'ai deja utilisé pour scroll un JTextArea et la pas de probleme ( new JscrollPane(new JTextArea())  )
 
J'ai essayé de faire la meme chose avec un JPanel : new JscrollPane(new JPanel())
Mais ca marche pas!
Mon JPanel est plus grand que le JScrollPane, donc il devrait afficher les barres de scroll, mais elles n'y sont pas. J'ai essayé de forcer la barre de scroll (setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS)). Ca m'affiche bien la barre mais je ne peut pas scroller mon JPanel.
 
J'ai du manquer quelquechose...
Si vous avez une piste.
Merci d'avance

mood
Publicité
Posté le 19-11-2004 à 15:59:30  profilanswer
 

n°902959
fb@alphalo​g
Posté le 19-11-2004 à 17:01:56  profilanswer
 

je dis peut etre une connerie , mais il me semblait que JScrollPane ne fonctionne directement qu'avec certains composants ( JList, Jtable JTextArea et JTree )  
 
pour les autres je ne sais pas ( mais le reponse m'interesserai )

n°903165
ruready
Posté le 19-11-2004 à 20:42:25  profilanswer
 

Ca expliquerait pourquoi ca marche pas chez moi alors...
 
tu veux dire quoi par : "ne fonctionne pas directement"? on peut le faire marcher en s'y prennant autrement?

n°903168
Jubijub
Parce que je le VD bien
Posté le 19-11-2004 à 20:49:56  profilanswer
 

y faut pas un composant qui sache gérer sa vue ? y'a une histoire de viewport à créer...


---------------
Jubi Photos : Flickr - 500px
n°903173
nraynaud
lol
Posté le 19-11-2004 à 20:55:25  profilanswer
 

on peut avoir un screenshot ?


---------------
trainoo.com, c'est fini
n°903239
EpoK
Let's burn
Posté le 19-11-2004 à 22:56:51  profilanswer
 

quel layout gere tout ca ?

n°904475
Miles V
Posté le 22-11-2004 à 08:17:43  profilanswer
 

new JScrollPane().getViewPort().add(new Panel())

n°904476
ruready
Posté le 22-11-2004 à 08:34:38  profilanswer
 

Si je fais comme ça (Comme l'a suggéré Miles V), ça me donne exactement la même chose.

n°904479
ruready
Posté le 22-11-2004 à 08:39:01  profilanswer
 

nraynaud a écrit :

on peut avoir un screenshot ?


 
ftp://mon-pc.no-ip.org/forum.hardware/screenshot-pbJScrollPane(JPanel).GIF
 
Voilà!
 
Le gros cadre noir c'est mon JScrollPane. Il contient un JPanel (plus grand en hauteur). On peut aprecevoir le debut d'un JLabel tout en bas... Il y a d'autres JLabel encore en dessous mais on peut pas les voir.
 
ps: je sais, ça rame mon ftp! désolé, laissez la fenetre ouverte et revenez voir le screenshot apres manger! ;-)


Message édité par ruready le 22-11-2004 à 08:40:33
n°904577
ruready
Posté le 22-11-2004 à 11:47:40  profilanswer
 

En fait, JPanel n'implemente pas Scrollable. Il faut donc creer sa propre classe JPanel implementant Scrollable.
 
Bon, en pratique, j'ai fait ça... mais j'arrive toujours pas a le faire marcher : mon JPanel est vide!!! (alors qu'il y a bien des trucs dedans!!!)
 
Keep on galering...

mood
Publicité
Posté le 22-11-2004 à 11:47:40  profilanswer
 

n°904601
fb@alphalo​g
Posté le 22-11-2004 à 12:33:46  profilanswer
 

tu as essayé de faire JPanel.setMinimumSize( Dimension ) ?


Message édité par fb@alphalog le 22-11-2004 à 12:33:53
n°904884
zerod
atchoum !
Posté le 22-11-2004 à 17:59:26  profilanswer
 

heuuu je ne vois pas le problème, ca marche tres bien :  
http://img88.exs.cx/img88/6821/Capture-2.jpg
 
tu dois avoir un problème de layout plutot, mais là sans voir le code...

n°904885
zerod
atchoum !
Posté le 22-11-2004 à 18:02:13  profilanswer
 

en gros :  

Code :
  1. jContentPane = new javax.swing.JPanel();
  2. jContentPane.setLayout(new java.awt.BorderLayout());
  3. jContentPane.add(getJScrollPane(), java.awt.BorderLayout.CENTER);
  4. ...
  5. getJScrollPane() :
  6. jScrollPane = new JScrollPane();
  7. jScrollPane.setViewportView(getJPanel());
  8. ...
  9. getJPanel() :
  10. jPanel = new JPanel();
  11. jPanel.setLayout(new BoxLayout(jPanel, BoxLayout.Y_AXIS));
  12. jPanel.add(getJButton(), null);
  13. jPanel.add(getJButton1(), null);
  14. jPanel.add(getJButton2(), null);
  15. jPanel.add(getJButton3(), null);
  16. les getJButton faisant des new JButton("toto" );


Message édité par zerod le 22-11-2004 à 18:03:02
n°904943
nraynaud
lol
Posté le 22-11-2004 à 20:13:02  profilanswer
 

ruready a écrit :

En fait, JPanel n'implemente pas Scrollable. Il faut donc creer sa propre classe JPanel implementant Scrollable.

non non, tu as mal lu la doc.
 
je peux voir le code qui va avec le screenshot ? je te soupçonne d'avoir touché aux preferredBidule, me trompe-je ?


---------------
trainoo.com, c'est fini
n°905087
zerod
atchoum !
Posté le 22-11-2004 à 23:14:09  profilanswer
 

oui ca doit etre ca, il a du fixer preferedSize ;)

n°905388
ruready
Posté le 23-11-2004 à 12:16:45  profilanswer
 

[:alex_]
 
Je crois que je vais me faire tapper dessus :
 

Code :
  1. MonPanelQuiEstDansLeJScrollPane.setLayout(null);


Message édité par ruready le 23-11-2004 à 12:17:06
n°905649
zerod
atchoum !
Posté le 23-11-2004 à 15:11:30  profilanswer
 

:lol:  
ah bein vi evidemment ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JScrollPane(JPanel) = marche pô!

 

Sujets relatifs
background: blablabla fixed... IE ça marche pas ?JLabel sur la bordure d'un JPanel
Code tout bête qui marche pas sous FireFox (??)foreach qui marche pas
[CSS] margin-bottom ... ca marche pas ?mon site ne marche pas avec internet explorer
intégrité référentielle (trigger) qui marche pasun simple applet java qui ne marche pas
enlever un JPanel et le remplacer par un autre 
Plus de sujets relatifs à : JScrollPane(JPanel) = marche pô!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR