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 :

[SWT] Taille d'une Column de Table


Sujet :

SWT/JFace Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2009
    Messages : 22
    Points : 21
    Points
    21
    Par défaut [SWT] Taille d'une Column de Table
    Bonjour, j'ai essayé pas mal de chose mais impossible d'obtenir ce que je souhaite.
    J'ai un Table avec une seule TableColumn (pas de List pour des raisons d'esthétique). Je veux que ma TableColumn soit de la même largeur que ma Table.

    Comment s'y prendre ?
    PS : j'aimerais aussi fixer les dimensions du Table mais le code suivant ne semble pas toujours donner le même résultat. Problème de Layout ???

    Partie du code qui marche pas pour l'instant :
    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
     
    final TableViewer listActeursViewViewer = new TableViewer(shellView, SWT.NONE);
    listActeursViewViewer.setUseHashlookup(true);
    listActeursViewViewer.setContentProvider(new ActeursStructuredContentProvider());		
    listActeursViewViewer.setLabelProvider(new ActeursTableLabelProvider());
    listActeursViewViewer.setInput(film.getListeActeurs());
    final Table listActeursView = listActeursViewViewer.getTable();
    listActeursView.setLinesVisible(true);
    listActeursView.setHeaderVisible(true);
    listActeursView.setSize(300, 500);
    TableColumn tableColumnActeurs = new TableColumn(listActeursView, SWT.NONE);
    tableColumnActeurs.setText("Acteurs");
    tableColumnActeurs.setWidth(listActeursView.getClientArea().width);
    listActeursViewViewer.refresh();
    FormData listActeursViewData = new FormData();
    listActeursViewData.top =  new FormAttachment(labelResumeView, 5);
    listActeursViewData.left =  new FormAttachment(groupAfficheView, 5);
    listActeursView.setLayoutData(listActeursViewData);
    Merci d'avance.

  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,

    Pour commencer, sache qu'il existe un Layout qui gère automatiquement les tailles de colonnes d'un Table : le TableColumnLayout. Par contre, pour utiliser ce layout, il faut que ton Table soit le seul fils d'un Composite. Donc, ce que tu peux faire, c'est créer un Composite, mettre ton Table à l'intérieur et donner une taille à ton Composite une fois toutes les opérations terminés.
    On obtient donc :
    Code Java : 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
        Composite tableComposite = new Composite(shellView, SWT.NONE);
        TableColumnLayout tableLayout = new TableColumnLayout();
        tableComposite.setLayout(tableLayout);
        FormData listActeursViewData = new FormData();
        listActeursViewData.top =  new FormAttachment(labelResumeView, 5);
        listActeursViewData.left =  new FormAttachment(groupAfficheView, 5);
        listActeursViewData.height = 500;
        listActeursViewData.width = 300;
        tableComposite.setLayoutData(listActeursViewData);
        final TableViewer listActeursViewViewer = new TableViewer(tableComposite, SWT.NONE);
        listActeursViewViewer.setUseHashlookup(true);
        listActeursViewViewer.setContentProvider(new ActeursStructuredContentProvider());       
        listActeursViewViewer.setLabelProvider(new ActeursTableLabelProvider());
        listActeursViewViewer.setInput(film.getListeActeurs());
        final Table listActeursView = listActeursViewViewer.getTable();
        listActeursView.setLinesVisible(true);
        listActeursView.setHeaderVisible(true);
        TableColumn tableColumnActeurs = new TableColumn(listActeursView, SWT.NONE);
        tableColumnActeurs.setText("Acteurs");
        tableColumnActeurs.setWidth(listActeursView.getClientArea().width);
        tableLayout.setColumnData(tableColumnActeurs, new ColumnWeightData(1));
        listActeursViewViewer.refresh();
    Normalement, tu devrais pas être trop loin de ce que tu attends ^^

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

Discussions similaires

  1. [SWT][debutant]taille d'une icone dans un TreeItem
    Par maxvador dans le forum SWT/JFace
    Réponses: 5
    Dernier message: 28/08/2005, 17h56
  2. taille d'une table + que 4 Go
    Par amika dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 12/08/2005, 18h23
  3. [SWT] ProgressBar dans une Table
    Par spi dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 12/01/2005, 13h58
  4. taille d'une table
    Par jean-jacques varvenne dans le forum Oracle
    Réponses: 11
    Dernier message: 29/12/2004, 13h17
  5. [SWT] Comment remplir une Table ?
    Par simon77 dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 23/08/2004, 10h31

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