Indiquer au JScrollPane que la surface de sa vue a augmenté

YaPab Messages postés 2 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 24 octobre 2004 - 17 oct. 2004 à 14:41
YaPab Messages postés 2 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 24 octobre 2004 - 24 oct. 2004 à 17:35
Bonjour,
Je développe une appli composée d'une surface graphique contenue dans un JScrollPane. Sur cette surface sont placés dynamiquement des composants Swing(JPanel), qui peuvent être déplacés avec la souris sur cette même surface. Or, lorsque les composants sont placés hors de la surface affichée par la JScrollPane, celle-ci n'affiche pas les barres de défilement et reste à sa taille minimum ne me permettant pas de visualiser ou de scroller pour voir les nouveaux composants.
Comment indiquer au JScrollPane que le composant qu'il contient comporte des nouveaux composants en dehors de sa surface visible afin qu'il mette automatiquement les barres de défilement en fonction.
Si quelqu'un a une idée...

2 réponses

cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 9
18 oct. 2004 à 14:21
Bonjour,

J'avais le même problème avec une Jtable et une JScrollPane. Pour mettre à jour le JScrollPane, je recrée la Jtable et la JScrollPane:

scrollpane.removeAll();
table = new JTable(test);
scrollpane = new JScrollPane(table);
0
YaPab Messages postés 2 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 24 octobre 2004
24 oct. 2004 à 17:35
Merci! J'ai résolu le problème en créant un LayoutManager spécialisé pour mon JPanel et en le forçant à intervenir par monPanel.setLayout(); ce qui pousse à un update() sur le JScrollPane qui du coup s'adapte à la nouvelle taille...
0
Rejoignez-nous