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 :

creer une list avec scroll si plus de 50 elem


Sujet :

SWT/JFace Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Par défaut creer une list avec scroll si plus de 50 elem
    Bonjour,

    J'ai une structure de composite les un dans les autres et j'essaye de creer une liste dans laquelle il y a beaucoup d'élément. j'essaie de creer une liste avec un scroll si jamais il y a plus de 25elem.

    j'arrive a faire cela avec la méthod setbounds mais seulement si il n'y a pas de grid layout au shell, par contre, si il y a un shell, tout plante.

    voici l'exemple qui ne marche pas:

    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
     
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.layout.GridLayout;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.List;
    import org.eclipse.swt.widgets.Shell;
     
    public class testframe {
     
    	public static void main(String[] args) {
    		Display display = new Display();
    		Shell shell = new Shell(display);
    		shell.setText("List Example");
    		shell.setLayout(new GridLayout());
     
    		Composite cmp = new Composite(shell, SWT.TRANSPARENT);
    		GridLayout layout = new GridLayout(2, false);
    		cmp.setLayout(layout);
    		List list = new List(cmp, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL);
    		list.setBounds(40, 20, 220, 100);
    		for (int i = 0; i < 1000; i++)
    			list.add("Item Number" + i);
     
    		shell.open();
    		while (!shell.isDisposed()) {
    			if (!display.readAndDispatch())
    				display.sleep();
    		}
    		display.dispose();
    	}
    }
    comment faire une list qui si elle a plus de 25 elem, alors elle met des scroll bar.

    merci


    a++

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Par défaut
    bonjour,

    alors, j'aireussi a faire cela en creant un composite sans layout et a y mettre la list dedans (voici un bout de code)
    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
     
    GridData griddata = null;
    		GridLayout layout = null;
    		content = new Composite(parent, SWT.TRANSPARENT);
     
    		layout = new GridLayout(2, false);
    		content.setLayout(layout);
     
    		Composite listcmp = new Composite(content, SWT.TRANSPARENT);
    		list = new List(listcmp, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL);
    		list.setBounds(0, 0, 200, 500);
    		griddata = new GridData(GridData.GRAB_HORIZONTAL);
    		list.setLayoutData(griddata);
    		list.addSelectionListener(selectionlistener);
    		element = new LayoutHelper(content);
    cela fonctionne tres bien si ce n'est que la list est au milieu du layout et ne reste pas en haut (sniff). mais bon, cela avance

  3. #3
    Membre chevronné Avatar de desert
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 414
    Par défaut
    Bonjour,
    On ne peut utiliser un GridData sans un gestionnaire de positionnement (layout).
    Soit tu te sers d'un setBounds pour dimensionner ton composant, soit d'un GridData mais les deux ne fonctionnenent pas ensemble.

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Par défaut
    salut et merci

    ici aussi () on a changé de stratégie, on a remplacé les listes par une table a une seul colonne (car on devait y rajouter des items, de la couleurs ,etc...)
    merci

    a+

Discussions similaires

  1. [Struts] Tester la taille d'une List avec un Tag Logic
    Par yolepro dans le forum Struts 1
    Réponses: 5
    Dernier message: 24/08/2007, 10h28
  2. Créer une liste avec taille inconnue
    Par C_C dans le forum Prolog
    Réponses: 3
    Dernier message: 19/11/2005, 12h46
  3. [postgresql]creer une table avec plusieurs clés primaire??
    Par perlgirl dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2004, 17h24
  4. Creer une requete avec des LEFT JOIN et des GRO
    Par donbuz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/09/2004, 15h53
  5. [MFC] creer une liste avec des check????
    Par ginounet dans le forum MFC
    Réponses: 4
    Dernier message: 16/06/2004, 11h47

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