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 :

ScrolledComposite avec contenu dynamique de StyledText


Sujet :

SWT/JFace Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut ScrolledComposite avec contenu dynamique de StyledText
    Bonsoir à tous,

    J'ai un petit soucis que je n'arrive vraiment pas à résoudre avec plein d'essais et de recherche. Je capitule ... je viens poster le problème car il doit bien avoir une solution et j'ai l'impression de tourner en rond.

    J'ai un scrolledComposite et dedans j'aimerais mettre des styledText. (un coup 10, un 100,...). J'aimerais que ces styledText (que j'ai mis dans des composites individuels) soient ajusté automatiquement à la taille de la fenetre qui peut etre changé par l'utilisateur.

    J'arrive à les afficher mais j'ai toujours un problèmes de scroll lorsque j'applique une valeur sur heightHInt.

    Je vous met un bout de code pour que vous visualisez le problème.


    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    scrolledComposite = new ScrolledComposite(parent, SWT.BORDER | SWT.V_SCROLL);
    		scrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    		scrolledComposite.setExpandHorizontal(true);
    		scrolledComposite.setExpandVertical(true);
     
    		//
    		composite = new Composite(scrolledComposite, SWT.NONE);
    		composite.setLayout(new GridLayout(1, false));
     
    		Composite composite_2 = new Composite(composite, SWT.NONE);
    		composite_2.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    		composite_2.setLayout(new GridLayout(1, false));
     
    		StyledText styledText_1 = new StyledText(composite_2, SWT.BORDER | SWT.READ_ONLY | SWT.WRAP);
    		GridData gd_styledText_1 = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1);
    		gd_styledText_1.widthHint = 50;
    		styledText_1.setLayoutData(gd_styledText_1);
    		styledText_1
    				.setText("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
     
    		Composite composite_5 = new Composite(composite, SWT.NONE);
    		composite_5.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    		composite_5.setLayout(new GridLayout(1, false));
     
    		StyledText styledText_5 = new StyledText(composite_5, SWT.BORDER | SWT.WRAP | SWT.READ_ONLY);
    		styledText_5
    				.setText("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
    		// gd_styledText_1.heightHint = 20;
    		// gd_styledText_1.minimumHeight = 30;
    		GridData gd_styledText_5 = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1);
    		gd_styledText_5.widthHint = 100;
    		styledText_5.setLayoutData(gd_styledText_5);
     
    		Composite composite_6 = new Composite(composite, SWT.NONE);
    		composite_6.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    		composite_6.setLayout(new GridLayout(1, false));
     
    		StyledText styledText_6 = new StyledText(composite_6, SWT.BORDER | SWT.WRAP | SWT.READ_ONLY);
    		styledText_6
    				.setText("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
    		GridData gd_styledText_6 = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    		gd_styledText_6.widthHint = 100;
    		// gd_styledText_1.heightHint = 20;
    		// gd_styledText_1.minimumHeight = 30;
    		styledText_6.setLayoutData(gd_styledText_6);
     
    		Composite composite_7 = new Composite(composite, SWT.NONE);
    		composite_7.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    		composite_7.setLayout(new GridLayout(1, false));
     
    		StyledText styledText_7 = new StyledText(composite_7, SWT.BORDER | SWT.WRAP | SWT.READ_ONLY);
    		styledText_7
    				.setText("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
    		// gd_styledText_1.heightHint = 20;
    		// gd_styledText_1.minimumHeight = 30;
    		GridData gd_styledText_7 = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    		gd_styledText_7.widthHint = 100;
    		styledText_7.setLayoutData(gd_styledText_7);
     
    		Composite composite_8 = new Composite(composite, SWT.NONE);
    		composite_8.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    		composite_8.setLayout(new GridLayout(1, false));
     
    		StyledText styledText_8 = new StyledText(composite_8, SWT.BORDER | SWT.WRAP | SWT.READ_ONLY);
    		styledText_8
    				.setText("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
    		GridData gd_styledText_8 = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    		gd_styledText_8.widthHint = 100;
    		// gd_styledText_1.heightHint = 20;
    		// gd_styledText_1.minimumHeight = 30;
    		styledText_8.setLayoutData(gd_styledText_8);
     
    		Composite composite_9 = new Composite(composite, SWT.NONE);
    		composite_9.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    		composite_9.setLayout(new GridLayout(1, false));
     
    		StyledText styledText_9 = new StyledText(composite_9, SWT.BORDER | SWT.WRAP | SWT.READ_ONLY);
    		styledText_9
    				.setText("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
    		GridData gd_styledText_9 = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    		gd_styledText_9.widthHint = 100;
    		// gd_styledText_1.heightHint = 20;
    		// gd_styledText_1.minimumHeight = 30;
    		styledText_9.setLayoutData(gd_styledText_9);
     
    		scrolledComposite.setContent(composite);
    		scrolledComposite.setOrigin(composite.getSize());
    		scrolledComposite.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
    		scrolledComposite.setExpandHorizontal(true);
    		scrolledComposite.setExpandVertical(true);


    Comme vous pouvez le voir sur l'image j'ai une partie blanche qui est en bas du scrollComposite apres le dernier styledtext. C'est rajouté parce que je touche au HeightHInt... Je n'arrive pas a avoir un affichage normal. Avez vous des solutions ? Utilisation d'un autre layout ? (lequel ? et quel configuration?)

    Merci d'avance pour votre aide.
    Images attachées Images attachées  

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    scrolledComposite.addControlListener(new ControlAdapter() {
    			@Override
    			public void controlResized(ControlEvent e) {
    				  Rectangle r = scrolledComposite.getClientArea();
                            scrolledComposite.setMinSize(composite.computeSize(r.width,
    			            SWT.DEFAULT));
    			        scrolledComposite.setOrigin(composite.getSize());
    			}
    		});
    Et voila !

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

Discussions similaires

  1. [MVVM] Menu avec contenu dynamique et à plusieurs niveaux
    Par Climoo dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 20/04/2013, 08h48
  2. [XL-2003] Pied et en-tete de page, dans une page avec contenue dynamiques
    Par elgaied dans le forum Excel
    Réponses: 7
    Dernier message: 19/04/2012, 16h46
  3. [Flex3] Affichage de Popup avec contenu dynamique
    Par Kantizbak dans le forum Flex
    Réponses: 0
    Dernier message: 20/05/2011, 10h53
  4. Liste déroulante avec contenu dynamique
    Par sdesbure dans le forum Ruby on Rails
    Réponses: 9
    Dernier message: 12/01/2008, 13h24
  5. Taille de frame avec contenu dynamique
    Par mioux dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/10/2007, 17h31

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