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 :

Espace entre les ToolItem dans une Toolbar


Sujet :

SWT/JFace Java

  1. #1
    Membre habitué Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Points : 193
    Points
    193
    Par défaut Espace entre les ToolItem dans une Toolbar
    Bonjour,

    Je crée une ToolBar qui contient une liste de x ToolItem représentés par des boutons dont l'image ressemble à une check box (image de 16 pixels par 16).
    Je voudrais élargir l'espace entre deux ToolItem pour qu'ils soient étalés dans toutes ma ToolBar qui est Fill Horizontal.

    Est-ce seulement possible ?
    J'ai lu que l'espace était calculé automatiquement par la classe FillLayout... et j'ai beau changé de layout .... ça marche pas !

    Merci
    Chris

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Tu peux éventuellement les espacer en rajoutant des séparators (new ToolItem(bar, SWT.SEPARATOR);) en indiquant leur largeurs. Mais avec des layout, je ne pense pas que ça soit possible (il n'y a pas de méthodes setLayoutData() sur un ToolItem).

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Membre habitué Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Points : 193
    Points
    193
    Par défaut
    Salut Gueritarish !

    j'y avais pensé, mais je veux pouvoir contrôler cet espace ... je suis en train de voir si je ferais pas mieux avec un tableViewer ...

    Je pense effectivement que c'est impossible !

    Je fermerais ce post dès que j'aurais fini l'exploration des possibilités mais je pense qu'il ne sera pas résolu

    Merci !

  4. #4
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Dans quel sens tu veux le contrôler? Si c'est lui assigner une taille variable, c'est tout à fait faisable. Il te suffit de rajouter une listener et le tour est joué.
    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
    public static void main(final String[] args) {
      final Display display = new Display();
      final Shell shell = new Shell();
      shell.setLayout(new GridLayout());
      final Image image = new Image(display, 16, 16);
      final Color color = display.getSystemColor(SWT.COLOR_RED);
      final GC gc = new GC(image);
      gc.setBackground(color);
      gc.fillRectangle(image.getBounds());
      gc.dispose();
      final ToolBar bar = new ToolBar(shell, SWT.BORDER);
      bar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
      ToolItem item;
      for (int i = 1; i < 10; i++) {
        if (i % 3 == 0) {
          item = new ToolItem(bar, SWT.SEPARATOR);
        } else {
          item = new ToolItem(bar, SWT.PUSH);
        }
        item.setText("Item " + i);
        item.setImage(image);
      }
      final Rectangle clientArea = shell.getClientArea();
      bar.setLocation(clientArea.x, clientArea.y);
      bar.pack();
      shell.addPaintListener(new PaintListener() {
     
        @Override
        public void paintControl(final PaintEvent e) {
          final int width = (int) ((float) e.width / (float) bar.getItemCount());
          for (final ToolItem item : bar.getItems()) {
            if ((item.getStyle() & SWT.SEPARATOR) == SWT.SEPARATOR) {
              item.setWidth(width);
            }
          }
        }
      });
      shell.open();
      shell.pack();
      while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
          display.sleep();
      }
      display.dispose();
    }
    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/09/2008, 14h25
  2. supprimer l'espace entre les cellules d'une colonne d'un tableau
    Par 123quatre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/09/2007, 10h52
  3. Reduire l'espace entre les icones dans la barre perso?
    Par byloute dans le forum Firefox
    Réponses: 1
    Dernier message: 19/07/2007, 22h12
  4. Espace entre les mots et une image
    Par darcy dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 02/03/2007, 14h55
  5. ne veut pas d'espaces entre les images dans une cellule
    Par cortex024 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 07/12/2006, 15h30

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