ok mais c'est du JXTable... j'avais pas compris.... Désolé...
Je n'ais pas compris pourquoi tu m'a affiché cette fenetre de test eclesia... Tu pourrais m'expliquer ce que tu voulais me montrer?
ok mais c'est du JXTable... j'avais pas compris.... Désolé...
Je n'ais pas compris pourquoi tu m'a affiché cette fenetre de test eclesia... Tu pourrais m'expliquer ce que tu voulais me montrer?
Java c'est pas de la menthe a l'eau
Et n'oubliez pas : Ne pas respirer tue...
Mon BLOOOUUUG Un site trop bien
Pour la recherche JAVA des liens pratiques :
GOOGLE LA JAVADOC LES FAQ LES ARCHIVES
... c'est juste une demonstration de ce que peut faire la JXTable.
as tu reglé ton probleme?
Systèmes d'Informations Géographiques
- Projets : Unlicense.science - Apache.SIS
Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons
Ben non je n'y suis toujours pas arrivé...
Java c'est pas de la menthe a l'eau
Et n'oubliez pas : Ne pas respirer tue...
Mon BLOOOUUUG Un site trop bien
Pour la recherche JAVA des liens pratiques :
GOOGLE LA JAVADOC LES FAQ LES ARCHIVES
C'est vraiment trop bizarre pour être honnête.
As-tu essayé d'afficher ta JTable toute seule dans une JDialog modale à part, avant de l'intégrer dans ta fenêtre compliquée ? Ca pourrait nous dire si ça vient de la JTable ou du Layout.
En fait cette JTable je l'affiche déja dans un jpanel sur une autre fenetre, donc pour moi ca vien du gridbag...
Java c'est pas de la menthe a l'eau
Et n'oubliez pas : Ne pas respirer tue...
Mon BLOOOUUUG Un site trop bien
Pour la recherche JAVA des liens pratiques :
GOOGLE LA JAVADOC LES FAQ LES ARCHIVES
une Jtable se met dans un JScrollPaneJTable je l'affiche déja dans un jpanel
Systèmes d'Informations Géographiques
- Projets : Unlicense.science - Apache.SIS
Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons
Alors il faut savoir que les headers de la JTable sont affichés dans le ColumnHeader du JScrollPane (de manière à rester visibles quand on scrolle).
As tu essayé de jouer sur les tailles préférées du JScrollPane et de son JViewport ? Sachant que la différence entre leurs tailles est ce qui reste aux headers.
Sinon, tu peux essayer de redéfinir le ScrollPaneLayout de ton JScrollPane de manière à forcer la taille préférée au columnHeader.
Oula oui pardon je le met bien dans un JScrollPane... désolé voici mon code pour vous montrer...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 tab.getTableHeader().setReorderingAllowed(false); JScrollPane scrolltab=new JScrollPane(tab); scrolltab.setPreferredSize(new Dimension(200,250)); gridbag.setConstraints(scrolltab, constraint); _schemepanel.add(scrolltab);
Java c'est pas de la menthe a l'eau
Et n'oubliez pas : Ne pas respirer tue...
Mon BLOOOUUUG Un site trop bien
Pour la recherche JAVA des liens pratiques :
GOOGLE LA JAVADOC LES FAQ LES ARCHIVES
Je reviens de la javadoc et du code source du ScrollPaneLayout, et si le ColumnHeader est présent et visible, il obtient obligatoirement sa taille préférée.
Donc je suis à peu près certain que le problème vient de ton JTableHeader.
Tu peux faire la batterie de tests suivants :
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 JTableHeader h = table.getTableHeader(); JLabel l = new JLabel("Hello world"); System.out.println(h.getPreferredSize().height); System.out.println(l.getPreferredSize().height); // déjà, si là c'est le même nombre, c'est pas la peine de continuer, // et j'abandonne. System.out.println(g.getFont().getSize()); System.out.println(l.getFont().getSize()); //là je vois pas d'autres sources d'erreur. [EDIT]System.out.println(h.getCellRenderer().getClass()); // pour vérifier que c'est bien un descendant de JLabel, mais je pense que oui.
Ok j'ais fais ces teste et voici ce que la console me retourne...
5
15
11
12
Java c'est pas de la menthe a l'eau
Et n'oubliez pas : Ne pas respirer tue...
Mon BLOOOUUUG Un site trop bien
Pour la recherche JAVA des liens pratiques :
GOOGLE LA JAVADOC LES FAQ LES ARCHIVES
Ben voila, c'est le JTableHeader qui foire ! Il dit que sa taille préférée est de 5 ! Même pas assez pour afficher le texte qu'il contient (de taille 11) !
Tu peux essayer de redéfinir le TableCellRenderer (en surchargeant la méthode getPreferredSize()), ou sinon il faudra te taper un JTableHeader, mais c'est quand même bizarre qu'il décide tout à coup de changer de taille préférée. T'es sur que tu n'y touches pas ?
En tout cas, une solution simple (j'espère qu'elle marchera) mais un peu crade :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 maTable.setTableHeader(new JTableHeader() { public Dimension getPreferredSize() { Dimension d = super.getPreferredSize(); if(d.height < 12) d.height = 12; return d; } });
J'ais éssayé ce que tu m'a dit mais ca ne marche pas... peu etre que je ne sais pas ou le mettre...
Java c'est pas de la menthe a l'eau
Et n'oubliez pas : Ne pas respirer tue...
Mon BLOOOUUUG Un site trop bien
Pour la recherche JAVA des liens pratiques :
GOOGLE LA JAVADOC LES FAQ LES ARCHIVES
Non, désolé, en fait je viens de tester, ça ne sert à rien. La seule chose qui marche chez moi, c'est de faire :Si ça marche pas chez toi, je n'ai plus de suggestions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dimension d = table.getTableHeader().getPreferredSize(); d.height = 50; // ou autre, mais autant s'aligner sur le JLabel. table.getTableHeader().setPreferredSize(d);
Fantastique !!!!!!!! ca marche... bon 50 pour la taille ca fais un peu beaucoup mais c'est cool... merci beaucoup
Java c'est pas de la menthe a l'eau
Et n'oubliez pas : Ne pas respirer tue...
Mon BLOOOUUUG Un site trop bien
Pour la recherche JAVA des liens pratiques :
GOOGLE LA JAVADOC LES FAQ LES ARCHIVES
N'empêche qu'on a pas résolu le problème à la base, c'est pas normal que le header se mette aussi petit. Mais bon, ça suffira pour aujourd'hui.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager