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 :

scroll vertical dans un wizard


Sujet :

SWT/JFace Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 108
    Par défaut scroll vertical dans un wizard
    bonjour,
    je viens de creer un wizard et ma page contient plusieurs champs texte( 18 en tt ) qui s'aligne verticalement les uns apres les autres .Mon probleme c'est que jarrive pas a voir les champs qui depasse la fenetre!! il me faut un scroll verticale




    jai essayé un ScrolledComposite mais il mefface tt les champs, il maffiche juste un wizard vide!! voila un bout de mon programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public void createControl(Composite parent) {
    	   //composite= new ScrolledComposite(parent,SWT.V_SCROLL);
    		composite = new Composite(parent, SWT.V_SCROLL);
    		composite.setLayout(new GridLayout(2, true));
     
    		GridLayout layout = new GridLayout();
    		GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
     
    		layout.verticalSpacing=15;
    		composite.setLayout(layout);
    		layout.numColumns =2;
    		layout.marginTop=10;
    		layout.horizontalSpacing =200;
     
    		final Button dir=new Button(composite,SWT.RADIO);
    		dir.setText("Grammaire direct");
    		final Button ext=new Button(composite,SWT.RADIO);
    		ext.setText("Grammaire externe");
     
    //il ya 17 autre label crée apres celui la 
     
    		Label label = new Label(composite, SWT.NORMAL);
    	    label.setText("Version ");
    	    final Text text = new Text(composite, SWT.HIDE_SELECTION| SWT.BORDER);
    	    gridData.horizontalIndent = -240;
    	    text.setLayoutData(gridData);

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Salut,
    Il est vrai que ScrolledComposite est un casse gueule

    Sinon, voici un exemple fonctionnel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    final ScrolledComposite sc = new ScrolledComposite(parent,
    					SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    			sc.setLayout(new FillLayout());
    			sc.setExpandHorizontal(true);
    			sc.setExpandVertical(true);
    			sc.setMinSize(0, 0);
    			final Composite comp = new Composite(sc, SWT.NONE);
    			comp.setLayout(new GridLayout(1, false));
    			for (int i = 0; i < 60; i++) {
    				Text t = new Text(comp, SWT.SINGLE);
    				t.setText(i + "");
    			}
     
    			comp.addControlListener(new ControlAdapter() {
     
    				public void controlResized(ControlEvent e) {
    					Point s = comp.computeSize(SWT.DEFAULT, SWT.DEFAULT);
    					sc.setMinSize(s);
     
    				}
     
    			});
    			sc.setContent(comp);
    			Point s = comp.computeSize(SWT.DEFAULT, SWT.DEFAULT);
    			sc.setMinSize(s);
    			setControl(sc);

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 218
    Par défaut
    Salut

    En mixant ton code et l'exemple au-dessus, ça donne ce truc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
        public void createControl(Composite parent) {
            final ScrolledComposite sc = new ScrolledComposite(parent, SWT.V_SCROLL|SWT.H_SCROLL);
            sc.setExpandHorizontal(true);
            sc.setExpandVertical(true);
            sc.setMinSize(0, 0);
     
            // Là tu as ton code initial
            final Composite composite = new Composite(sc, SWT.NONE);
            composite.setLayout(new GridLayout(2, true));
     
            GridLayout layout = new GridLayout();
            GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
     
            layout.verticalSpacing = 15;
            composite.setLayout(layout);
            layout.numColumns = 2;
            layout.marginTop = 10;
            layout.horizontalSpacing = 200;
     
            final Button dir = new Button(composite, SWT.RADIO);
            dir.setText("Grammaire direct");
            final Button ext = new Button(composite, SWT.RADIO);
            ext.setText("Grammaire externe");
     
            // il ya 17 autre label crée apres celui la : j'ai fais joujou !
            for (int i = 0; i < 18; i++) {
                Label label = new Label(composite, SWT.NORMAL);
                label.setText("Version " + i);
                final Text text = new Text(composite, SWT.HIDE_SELECTION | SWT.BORDER);
                gridData.horizontalIndent = -240;
                text.setLayoutData(gridData);
            }
     
            // Important !
            composite.addControlListener(new ControlAdapter() {
     
                public void controlResized(ControlEvent e) {
                    Point s = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
                    sc.setMinSize(s);
     
                }
     
            });
     
            sc.setContent(composite);
            Point s = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
            sc.setMinSize(s);
     
     
        }
    Et voilà

    Laurent

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 108
    Par défaut
    merci bcp ca marche


    juste une derniere question: le scrolle ne saffiche pas directement il fo que dimensionne un peu ma fenetre pour kil safffiche, ya til une methode pour cela ??
    jai redimensionné mon shell avec la methode setsize() mais ca marche pas

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 218
    Par défaut
    Tu as essayé de faire un pack sur le composite créé par createControl() ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 108
    Par défaut
    Citation Envoyé par meddle Voir le message
    Tu as essayé de faire un pack sur le composite créé par createControl() ?
    c bon ca marche le scroll saffiche directement

    il ya juste ma fenetre ki prend tt l'ecran a la verticale!!
    jarrive pas a la dimensionné

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 218
    Par défaut
    Tu peux poster le code de ta vue s'il te plait ?

    Laurent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/12/2010, 08h36
  2. scroll vertical dans formulaire
    Par ludobabs dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2008, 14h31
  3. Separateur vertical dans une ListCtrl
    Par jul54 dans le forum MFC
    Réponses: 2
    Dernier message: 15/01/2004, 15h33
  4. Scroll automatique dans un JTextPane
    Par regbegpower dans le forum Composants
    Réponses: 9
    Dernier message: 11/11/2003, 09h24
  5. scrolling vertical et horizontal
    Par myriam dans le forum MFC
    Réponses: 2
    Dernier message: 24/01/2003, 17h06

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