IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SWT/JFace Java Discussion :

Mettre une scroll bar dans un group


Sujet :

SWT/JFace Java

  1. #21
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    Moi je ne vois pas la scrollbar mais je me demande si ce n'est pas parceque mon Group grandit au fur et à mesure qu'il y a des composants. Comment faire pour lui donner une taille fixe ?
    tu veux dire que tu ajoutes des composants dans ton groupe dynamiquement ?

    si c'est le cas, à chaque fois que tu ajoutes un composant, il faut réappeler

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scrolledComposite.setMinSize(groupTT.computeSize(SWT.DEFAULT, SWT.DEFAULT));
    (forcément si tu ajoutes des composants la taille minimum du composants à scroller change)


    A partir du moment ou tu as mis ton group dans un composant layouté avec une GridLayout, la seul manière de donner une hauteur fixe à ton group est d'utiliser heightHint de GridData

  2. #22
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    Moi je ne vois pas la scrollbar mais je me demande si ce n'est pas parceque mon Group grandit au fur et à mesure qu'il y a des composants. Comment faire pour lui donner une taille fixe ?
    si tu donnes une taille fixe à ton groupe, les composants que tu ajouteras et qui dépasseront ne seront pas visibles !

    tu ne vois pas la scroll bar avec le snippet que j'ai donné ? tu es sur quel système ?

  3. #23
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Non ce n'est pas vraiment ce que j'ai voulu dire. Je rajoute mes composants dans la boucle.

    Mais par exemple avec ton test j'ai 10 totos et la taille du groupe est grande donc pas besoin de scrool bar. Avec mon test j'ai environ 15 composants et la tailles du groupe grandit. Il ne faudrait pas fixer la taille avant de rajouter les composants ? Ou je ne sais pas trop...

  4. #24
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    Non ce n'est pas vraiment ce que j'ai voulu dire. Je rajoute mes composants dans la boucle.

    Mais par exemple avec ton test j'ai 10 totos et la taille du groupe est grande donc pas besoin de scrool bar. Avec mon test j'ai environ 15 composants et la tailles du groupe grandit. Il ne faudrait pas fixer la taille avant de rajouter les composants ? Ou je ne sais pas trop...
    si tu modifies mon code et que tu mets 500 à la place de 10 tu verras que ça marche. (faudra enlever le shell.pack() par contre)

    ou si par exemple tu redimensionne la taille de la fenêtre tu verras la scroll bar apparaitre.

    avec le code que je t'ai donné y'a juste un petit schmilblick à l'ouverture parce que le dimensionnement se fait trop tôt par rapport au layout. il faudrait peut être posté un relayout à la fin de l'ouverture de la fenêtre, en ajoutant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	comp.getShell().addShellListener(new ShellAdapter() {
     
    				public void shellActivated(ShellEvent e) {
    					comp.layout(true,true);
    				}
    			});
    à la fin de la méthode createControl

  5. #25
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Même en mettant 500 la scrollbar n'apparait pas.

    Surement parceque je n'ai pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Shell shell = new Shell(display);
     
    		GridLayoutFactory.swtDefaults().applyTo(shell);
    		createControl(shell);
     
     
    		shell.pack ();
    		shell.open ();
    		while (!shell.isDisposed ()) {
    			if (!display.readAndDispatch ()) display.sleep ();
    		}
    quelque part dans mon code

  6. #26
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    Même en mettant 500 la scrollbar n'apparait pas.

    Surement parceque je n'ai pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Shell shell = new Shell(display);
     
    		GridLayoutFactory.swtDefaults().applyTo(shell);
    		createControl(shell);
     
     
    		shell.pack ();
    		shell.open ();
    		while (!shell.isDisposed ()) {
    			if (!display.readAndDispatch ()) display.sleep ();
    		}
    quelque part dans mon code
    tu es dans un wizard, c'est pareil, il s'affiche dans un shell ton wizard ! a moins que ce shell soit tellement grand que le 5ème de sa hauteur soit plus grand que ton groupe, ça doit rien changer...



    là, y'a bien une scroll bar visible non ?

    Si ton wizard est autodimensionnable il va bien sur faire comme si tu faisais un pack : donne lui une taille fixe dans ce cas

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    		    WizardDialog dialog = new WizardDialog( parentShell, wizard) {
     
    		    	protected org.eclipse.swt.graphics.Point getInitialSize() {
    		    		Rectangle size = getShell().getMonitor().getBounds(); // tu peux utiliser getClientArea() si tu veux les dimensions hors les barres windows ou ce genre de truc
    		    		return new Point(size.width/2, size.height/2); // pour un wizard qui fait le quart de l'écran
    		    	};
     
    		    };
     
    			dialog.create();
     
    			dialog.open();
    Images attachées Images attachées  

  7. #27
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Bon toujours la même chose. Le group devient énorme et n'apparait pas en entier dans le wizard.

    Je vais continuer à chercher. Si quelqu'un a une idée qu'il n'hésite pas

    Merci à tous.

  8. #28
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    Bon toujours la même chose. Le group devient énorme et n'apparait pas en entier dans le wizard.

    Je vais continuer à chercher. Si quelqu'un a une idée qu'il n'hésite pas

    Merci à tous.
    si le group devient "énorme", c'est qu'on lui donne cette taille. or dans la dernière version de ton code que tu as posté, le group étant dans le scrolled composite, c'est ce dernier qui lui impose sa taille.
    et le scrolled composite est dimensionné par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    comp.getShell().addControlListener(new ControlAdapter() {
     
    			public void controlResized(ControlEvent e) {
    				((GridData)scrolledComposite.getLayoutData()).heightHint=
    						Math.max(0, comp.getShell().getSize().y/5); // 5ème de la hauteur de la fenêtre
    				comp.layout(true,true);
    			}
    		});
    donc il dépend de la taille de la fenetre. et doit etre plus petit.

    à noter :
    - à l'ouverture, l'évenement est possiblement pas reçu. il faudrait forcer le heightInt dans le griddata mis à l'origine
    - à l'ouverture du wizard il est possible que la fenetre soit dimensionné par un pack et si le nombre de composant dans le group est important, le group sera grand en effet, mais si tu forces bien les dimensions de ton wizard ca ne devrait pas etre le cas
    - le panel principal d'un dialogue est toujours aussi grand que nécessaire et "passe" derrière le composite qui présente les boutons du wizard. pour avoir eu à resoudre ce problème, j'utilise la hauteur de la fenetre à laquelle je soustrait la hauteur de ce panel. mais normallement on est pas dans ce cas, puisqu'on impose la taille à 1/5 de la hauteur de la fenetre

    déjà il serait intéressant que tu traces
    - la hauteur de la fenetre : facile de calculer 1/5ème de cette valeur et de vérifier de visu si le scrolled composite à cette taille ou pas (ce qui ne semble pas etre le cas, mais bon d'après le code ça devrait, donc soit c'est pas le bon code, soit je sais pas
    - si tu passes bien dans la méthode controlResized
    si ce n'est pas le cas, redimensionne la fenetrepour voir si ça le fait dans ce cas : si ça le fait toujours pas, alors c'est que le code que tu as posté n'est pas/plus celui que tu exécutes, si ça le fait, alors le problème vient de l'initialisation

    un autre test est de remplacer le heightHint dans controlresized par une valeur arbitraire : la plus de dépendance sur la taille de la fenetre. si ton group à toujours une taille "énorme", c'est que le code que tu as posté n'est pas celui que tu exécutes. vérifie bien que tu as mis un layout sur tous les composants que tu as créés et un layoutdata sur le scrolled composite

    enfin la dernière chose à laquelle je pense c'est que le composant qu'on te passe en argument n'a pas un gridlayout mais un autre layout (ce que tu peux vérifier également) : si c'est le cas c'est que tu as une version différente de swt que celle que j'ai, parce que c'est ce que j'ai moi (d'ailleurs, au fait, tu es sous quel os ?)

    j'essayerai de faire un wizard si j'ai le temps aujourd'hui, mais en tout cas, je l'ai fait dans un TitleAreaDialog dans mon appli et ça marce nickel (sauf sur mac, forcément, ou il y'a une dérive du composant vers le bas si on redimensionne le dialogue)

  9. #29
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    j'oubliais un truc : tu as vérifié que tu n'avais pas une stacktrace dans le log ?

    sinon, en relisant ton code, je vois pas l'initialisation du gridata sur le scrolled composite...

  10. #30
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Bonjour, tout d'abord merci de ton aide.

    J'ai fait un test pour savoir si je rentré dans controlResized. Il se trouve que je n'y rentre pas. J'ai donc modifié la taille de la fenêtre (dynamiquement, c'est bien ça que tu me demandes ? Avec la souris quoi ?) et je n'y rentre pas non plus. Pourtant je suis assez sûr que c'est le bon code que j'utilise vu que quand je fais des modifs ça apparait.

    Sinon je n'ai pas de GridData sur mon scrollComposite il me semble...

    PS : Je suis sour Windows XP.

  11. #31
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    Bonjour, tout d'abord merci de ton aide.

    J'ai fait un test pour savoir si je rentré dans controlResized. Il se trouve que je n'y rentre pas.
    bon déjà ça explique pourquoi le heightHint n'est pas appliqué

    Citation Envoyé par Leniouns Voir le message
    J'ai donc modifié la taille de la fenêtre (dynamiquement, c'est bien ça que tu me demandes ? Avec la souris quoi ?)
    oui à la souris !
    Citation Envoyé par Leniouns Voir le message
    et je n'y rentre pas non plus. Pourtant je suis assez sûr que c'est le bon code que j'utilise vu que quand je fais des modifs ça apparait.
    bon ça veut dire qu'on écoute un composant qui ne change pas de taille, soit on écoute pas le bon composant

    normalement tu devrais avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    comp.getShell().addControlListener(new ControlAdapter() {
     
    				public void controlResized(ControlEvent e) {
    					((GridData)scrolledComposite.getLayoutData()).heightHint=
    							Math.max(0, comp.getShell().getSize().y/5);
    					comp.layout(true,true);
    				}
    			});
    c'est bien ça (avec toutes les modifs qu'on a faite je ne suis plus sur, surtout que dans mon code j'écoute comp, mais ça tu ne peux pas dans le cas d'un wizard justement)

    donc à priori on devrait bien écouter le shell qui contient le wizard, donc celui que tu resizes, donc y'a pas de raison logique pour laquelle on ne reçoit pas d'événement de resize

    déjà on peut vérifier que c'est bien la même référence de shell (en debug par exemple) : si c'est pas la même réf, y'a quelque chose qui m'échappe...



    j'ai pas trop le temps aujourd'hui de regarder,

    essaye aussi de remplacer l'écouteur par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    comp.getShell().addControlListener(new ControlAdapter() {
     
    				public void controlResized(ControlEvent e) {
    					((GridData)scrolledComposite.getLayoutData()).heightHint=Math.min(
    							Math.max(0, comp.getShell().getClientArea().height-12-scrolledComposite.getLocation().y), scrolledComposite.getMinHeight());
    					comp.layout(true,true);
    				}
    			});
    histoire de voir ce que ça change (mais bon dans la mesure ou on passe pas dans le controlResized ça devrait rien changer : essaye peut être en écoutant le parent de ton composant (celui passé en paramètre de ta méthode createControl) juste par curiosité, donc en mettant parent.addControlListener au lieu de comp.getShell().addControlListener

  12. #32
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    J'ai mis parent.addControlListener au lieu de comp.getShell().addControlListener et ça marche ! J'ai bien mon scroll bar.

    Par contre le group est encore un peu grand (même si je dois descendre le scrollbar pour regarder la derrnière ligne). De ce fait je dois réduire la fenêtre pour voir mes boutons (suivant précédent etc).

  13. #33
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    J'ai mis parent.addControlListener au lieu de comp.getShell().addControlListener et ça marche ! J'ai bien mon scroll bar.

    Par contre le group est encore un peu grand (même si je dois descendre le scrollbar pour regarder la derrnière ligne). De ce fait je dois réduire la fenêtre pour voir mes boutons (suivant précédent etc).
    ça vient probablement comme je te le disais du composite qui contient les boutons et le fait que le panel de fond d'un dialog passe "derrère" ce panel de boutons : j'ai eu le problème avec un TrayDialog, en voulant dimensionner mon scrolled composite pour qu'il prenne tout l'espace dispo. Pourtant le fait de dimensionner en prenant le 1/5 de la hauteur devrait suffire à ne pas avoir ce problème...

    le problème dans ton cas, c'est que le wizard n'a pas accès direct au WizardDialog (enfin il y'a accès par l'intermédiaire de l'interface IWizardContainer mais cette interface ne donne pas accès aux composants graphiques du container). j'essaierai de trouver une solution quand j'en aurais le temps, mais maintenant je ne peux vraiment pas

  14. #34
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    J'ai mis parent.addControlListener au lieu de comp.getShell().addControlListener et ça marche ! J'ai bien mon scroll bar.

    Par contre le group est encore un peu grand (même si je dois descendre le scrollbar pour regarder la derrnière ligne). De ce fait je dois réduire la fenêtre pour voir mes boutons (suivant précédent etc).
    euh, attends, j'ai peut être pas bien lu : si tu redimensionnes ta fenêtre à la souris, le group devient visible complétement ?

  15. #35
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Non non, le group garde la même taille avec la scroll bar. JE redimenssionne pour pouvoir voir les boutons suivant précédent etc.

  16. #36
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    Non non, le group garde la même taille avec la scroll bar. JE redimenssionne pour pouvoir voir les boutons suivant précédent etc.
    ah, tu veux dire que ton wizard est trop grand pour l'écran ?

  17. #37
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    En fait dans mon wizard j'ai des boutons vers le bas. Toujours au même endroit. Et d'habitude mes composants ne les pousses pas vers le bas mais là oui. Je ne sais pas si je suis assez clair

  18. #38
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    En fait dans mon wizard j'ai des boutons vers le bas. Toujours au même endroit. Et d'habitude mes composants ne les pousses pas vers le bas mais là oui. Je ne sais pas si je suis assez clair
    euh non la je comprends pas, tu veux dire des boutons que tu as ajoutés toi même dans la page, en dessous du groupe à scroller ?

  19. #39
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Oui oui.

  20. #40
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    si ces boutond apparaissent si tu redimensionnes la fenêtre à la souris, c'est que le problème se situe uniquement à l'initialisation : à ce moment le group prend la place dont il a besoin, qui est celle qui permet de voir toutes les lignes de composants que tu ajoutes dans ton group.

    déjà, j'essairai de forcer une taille fixe juste pour voir, essaye par exemple de mettre tout bêtement 0 (donc d'appliquer un griddata sur ton scrolled composite qui ait un heightHint à 0 juste après l'avoir créé). Avec un peu de chance, on aura un resize à l'ouverture et ce heightHint va être remis à 1/5ème par l'écouteur. si ton group ne s'affiche plus sauf si tu redimensionnes ta fenêtre à la souris, il va falloir trouver un moyen qu'à l'ouverture, ton écouteur soit forcément appelé (ou en tout cas le code de cette écouteur éxécuté...)

Discussions similaires

  1. Scroll bar dans une table c#
    Par makertoo dans le forum C#
    Réponses: 3
    Dernier message: 12/09/2013, 09h34
  2. Récupérer position scroll bar dans une div
    Par abdelmounaime dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/09/2012, 06h51
  3. scroll bar dans une Grid dans un TabPanel
    Par ffert2907 dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 04/11/2009, 22h23
  4. Réponses: 3
    Dernier message: 02/09/2008, 12h32
  5. Utiliser une scroll bar dans une fenêtre
    Par Silverstone dans le forum C++
    Réponses: 1
    Dernier message: 29/12/2006, 00h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo