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 et jscrollpane


Sujet :

Composants Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 296
    Par défaut JTable et jscrollpane
    Bonjour

    Je n'arrive à afficher mes libellés de colonne de ma JTable
    que lorsqu'elle est dans un jscrollpane
    n'y a t'il pas un moyen de les afficher sans scrollpane
    sachant que je créer une Jtable à l'aide dun default model

    Merci pour vos réponses

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Merci de lire la doc !!!

    http://javasearch.developpez.com/j2s...ng/JTable.html
    Note that if you wish to use a JTable in a standalone view (outside of a JScrollPane) and want the header displayed, you can get it using getTableHeader() and display it separately.
    a++

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 296
    Par défaut
    Bin moi et l'anglais on est pas trop copain

    Vous auriez pas une exemple à me montrer car je vois pas à quoi sert la méthode getTableHeader()

  4. #4
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //aligne le texte dans les headers	
    ((DefaultTableCellRenderer)tableau.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(SwingConstants.CENTER);
     
    // empeche l'utilisateur de changer les positions des colonnes
    tableau.getTableHeader().setReorderingAllowed(false);
    Il reste l'API sinon

    API JTABLE HEADER

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par sandytarit
    Bin moi et l'anglais on est pas trop copain
    Si tu n'arrives pas à lire une doc comme la javadoc, le mieux serait de changer de métier... parce que sinon tu vas vraiment avoir du mal

    La javadoc est LA référence à consulter avant tout !

    Citation Envoyé par sandytarit
    Vous auriez pas une exemple à me montrer car je vois pas à quoi sert la méthode getTableHeader()
    Ben cela te renvoi le composant correspondant à l'entête des libellés de colonnes, et c'est donc à toi de l'afficher...

    a++

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 296
    Par défaut
    Si je fais comme ca il n'apparaisse toujours 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
    	private DefaultTableModel getModel() {
     
    		if(model==null){
    			model = new DefaultTableModel() {
     
    				public boolean isCellEditable(int iRowIndex, int iColumnIndex) {
    					return false;
    				}
    			};
    			model.setDataVector(data1,libelle);
    			JTableHeader head ;
    			head=getJxTable().getTableHeader();
    			head.setVisible(true);
     
     
    		}
     
    		return model;
    	}

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Cela n'a rien à faire dans getModel() !!!

    Il faut simplement que tu ajoute le composant renvoyé par getTableHeader() dans le composant qui contient ta JTable...


    a++

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le JTableHeader est un composant swing comme un JLabel ou une JTable et de ce fait tu dois l'ajouter à un container pour qu'il s'affiche.

    Donc grosso merdo tu mettes ta JTable et ton JTableHeader dans un même JPanel,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    JTable maTable = new JTable(...);
    JPanel p = new JPanel();
    p.setLayout(new BorderLayout());
    p.add(maTable.getTableHeader(), BorderLayout.NORTH);
    p.add(maTable, BorderLayout.CENTER);

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 296
    Par défaut
    si je fais comme ca ça marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jPanelCenter.add(getJxTable().getTableHeader(),BorderLayout.NORTH);
    mais par contre si je veux que mes colonnes ne bougent pas, je fais ca et la la méthode add est souligné comme une erreur
    Y a t'il un moyen de bloquer les colonnes autrement que comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jPanelCenter.add(getJxTable().getTableHeader().setReorderingAllowed(false),BorderLayout.NORTH);

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 296
    Par défaut
    Bin en fait c bon la méthode set....(false)

    je l'ai mis dans ma méthode getJxtable même si c'est pas très propre

  11. #11
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par sandytarit
    mes libellés sont bien affichés mais ils prennent tout mon panneau
    Le composant est affiché selon ton LayoutManager...

    Citation Envoyé par sandytarit
    et les données de ma Jtable ne sont pas affichés.
    Tu ajoutes bien ta JTable en plus du header au moins ???


    Petite question : Pourquoi ne pas utiliser le JScrollPane ? C'est quand même plus propre non ?

    a++

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

Discussions similaires

  1. JTable et JScrollPane
    Par vermine dans le forum Composants
    Réponses: 11
    Dernier message: 21/03/2008, 12h48
  2. probleme d'affichage avec JTable et JScrollPane
    Par semaj_james dans le forum Composants
    Réponses: 2
    Dernier message: 16/11/2007, 17h09
  3. JTable et JScrollPane : Faire descendre l'ascenceur
    Par JohnNC dans le forum Composants
    Réponses: 1
    Dernier message: 27/06/2007, 22h35
  4. JTable et JScrollPane, pb de JScrollBar
    Par arasium dans le forum Composants
    Réponses: 6
    Dernier message: 31/08/2006, 12h01
  5. Défilement automatique JTable dans JscrollPane
    Par jdewalqu dans le forum Composants
    Réponses: 3
    Dernier message: 24/08/2006, 17h28

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