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 :

Retour à la ligne dans une colonne de TableViewer


Sujet :

SWT/JFace Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Retour à la ligne dans une colonne de TableViewer
    Bonjour,

    J'ai un TableViewer avec plusieurs colonnes et j'y insère des chaines de caractères assez longues. Et comme la limite de caractères d'une colonne est de 255 tout ne s'affiche pas.
    Je sais qu'il est possible de gérer ça par les cellules avec du code comme cell.setLineWrap(true); ou cell.setWrapStyleWord(true); sauf que je ne gère pas de cellules, seulement des colonnes.

    J'aimerais savoir alors comment faire pour passer à la ligne (automatiquement ou avec une limite de caractères que je définie) ?


    Merci d'avance


    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
        viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
        createColumns(parent, viewer);
        final Table table = viewer.getTable();
        table.setHeaderVisible(true);
        table.setLinesVisible(true);
        viewer.setContentProvider(new TableContentProvider());
        viewer.setInput(input);
     
        private void createColumns(final Composite parent, final TableViewer viewer) {
            String[] titles = { "Nom", "Description" };
    	int[] bounds = { 100, 100 };
    	TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0], 0);
            col.setLabelProvider(new ColumnLabelProvider() {
    	    @Override
    	    public String getText(Object element) {
                    TableContent p = (TableContent) element;
    	        return p.nom;
    	    }
            });
                col = createTableViewerColumn(titles[1], bounds[1], 1);
                col.setLabelProvider(new ColumnLabelProvider() {
                    @Override
    	        public String getText(Object element) {
                    TableContent p = (TableContent) element;
    	        return p.description;
    	    }
            });
        }

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Bonjour à tous,

    Je continue à chercher mais tout les exemples sur lesquels je tombe utilisent des chaines de caractères très courtes :
    http://www.java2s.com/Code/Java/SWT-...ipse/Table.htm
    http://vzurczak2.wordpress.com/2011/...vec-swt-jface/
    http://www.vogella.com/articles/Ecli...e/article.html

    Puisque je ne créée pas de cellules directement je suppose que je dois passer par les paramètres d'une colonne mais je n'ai aucune idée sur la façon de m'y prendre...

    Cordialement,

  3. #3
    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 trouveras la solution dans ce snippet JFace.
    Il s'agit d'utiliser un label provider qui te permette de donner tes propres mesures aux cellules.

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

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Salut,

    Merci pour la réponse, c'était utile. J'ai fini par faire quelque chose d'un peu différent mais le principe reste le même. Je mets en lien d'autres exemples qui m'ont aidés au cas ou pour le prochain qui a besoin d'aide:
    http://www.java2s.com/Tutorial/Java/...eTablecell.htm
    http://git.eclipse.org/c/platform/ec...nippet231.java

    Bonne journée à tous

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

Discussions similaires

  1. [CSS] Empecher le retour à la ligne dans une cellule
    Par pekka77 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 26/02/2009, 16h50
  2. retour à la ligne dans une div
    Par kahya dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/04/2007, 11h56
  3. [VB.NET] Enlever les retours à la ligne dans une string
    Par adrix26 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 09/01/2007, 23h27
  4. Retour à la ligne dans une zone de text
    Par hnb2003 dans le forum Access
    Réponses: 2
    Dernier message: 13/04/2006, 11h56
  5. Pb retour de ligne dans une balise DT
    Par lord_paco dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/12/2005, 17h11

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