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

Composants Java Discussion :

[jTable] Dimensionner la hauteur de certaines lignes


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Par défaut [jTable] Dimensionner la hauteur de certaines lignes
    Bonjour!

    Et bien j'essaie sans succès de dimensionner la hauteur de certaines lignes dans ma jTable pour que lorsque j'applique un Font avec une police plus grosse, la taille de la ligne soit adaptée...

    J'ai redéfini "DefaultTableCellRenderer" pour pouvoir afficher certaine ligne en couleurs, mais si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    this.setSize(x,x);
    this.setPreferredSize(x,x);
    Ca n'a aucun effet...

  2. #2
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    En utilisant une JXTable tu peux faire jtable.setRowHeight( int height ), mais toutes tes lignes prendront alors la même hauteur.

    Sinon dans ton renderer, tu renvoie bien un JLabel dont tu spécifies les dimensions avec setPreferredSize() ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Par défaut
    Euh oui...

    Voila le code que j'utilise:

    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
    /*
     * NewClass.java
     *
     * Created on 24. octobre 2006, 14:08
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
     
    package dmind.ihm;
     
    import dmind.gestion_questionnaire.Titre;
    import ihm.Ihm_creation_questionnaire;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Font;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableCellRenderer;
     
    /**
     *
     * @author Binou
     */
     
    public class ColorTableCellRenderer extends DefaultTableCellRenderer {
        public Component getTableCellRendererComponent(JTable table,
                Object value,
                boolean isSelected,
                boolean hasFocus,
                int row,
                int column)  {
            super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            if (Ihm_creation_questionnaire.leTypeQuestionnaire.getListeQuestionsTitres().get(row) instanceof Titre) {
                if(((Titre)Ihm_creation_questionnaire.leTypeQuestionnaire.getListeQuestionsTitres().get(row)).getNiveauTitre()==1){
                    this.setBackground(new Color(101, 114, 235));
                    this.setForeground(Color.WHITE);
                    this.setSize(1,1);
                    Font f = new Font("Sheriff", Font.BOLD, 15);
                    this.setFont(f);
                }
                else if(((Titre)Ihm_creation_questionnaire.leTypeQuestionnaire.getListeQuestionsTitres().get(row)).getNiveauTitre()==2){
                    this.setBackground(new Color(142, 151, 235));
                    this.setForeground(Color.WHITE);
                }
                else if(((Titre)Ihm_creation_questionnaire.leTypeQuestionnaire.getListeQuestionsTitres().get(row)).getNiveauTitre()==3){
                    this.setBackground(new Color(178, 178, 241));
                    this.setForeground(Color.WHITE);
                }
                else if(((Titre)Ihm_creation_questionnaire.leTypeQuestionnaire.getListeQuestionsTitres().get(row)).getNiveauTitre()==3){
                    this.setBackground(new Color(101, 114, 235));
                    this.setForeground(Color.WHITE);
                }
                else if(((Titre)Ihm_creation_questionnaire.leTypeQuestionnaire.getListeQuestionsTitres().get(row)).getNiveauTitre()==3){
                    this.setBackground(new Color(101, 114, 235));
                    this.setForeground(Color.WHITE);
                }
                else{
                    if(Ihm_creation_questionnaire.jTableau.getSelectedRow()==row)
                        this.setBackground( new Color(184, 207, 229));
                    else
                        this.setBackground(Color.WHITE);
                }
            }else{
                if(Ihm_creation_questionnaire.jTableau.getSelectedRow()==row)
                    this.setBackground( new Color(184, 207, 229));
                else{
                    this.setBackground(Color.WHITE);
                }
            }
     
            return this;
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            jTableau = new javax.swing.JTable(getDtmTableModel());
            jTableau.getColumnModel().getColumn(0).setCellRenderer(new ColorTableCellRenderer());
            jTableau.getColumnModel().getColumn(1).setCellRenderer(new ColorTableCellRenderer());

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Par défaut
    Personne ne peut m'aider??

  5. #5
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Bah si mais je ne vois pas de setPreferedSize dans ton code comme te l'a conseillé shniouf.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Par défaut
    j'ai deja tester et ca ne fonctionne pas et je ne sais pas pourkoi. Le code que j'ai mis ne le contient pas parce que j'avais deja testé et effacé...

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

Discussions similaires

  1. [Swing]JTable- Dimensionner les colonnes
    Par loutfi dans le forum Composants
    Réponses: 12
    Dernier message: 01/07/2011, 08h50
  2. Coloration de certaines lignes jTable
    Par lhpp dans le forum Composants
    Réponses: 13
    Dernier message: 07/11/2006, 20h26
  3. [JTable] affichage optionnel de certaines lignes
    Par Nicool dans le forum Composants
    Réponses: 10
    Dernier message: 08/06/2006, 15h59
  4. [JSplitPane+JScrollPane+JTable] Dimensionnement
    Par TreizeSegments dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 13/08/2004, 13h41

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