Bonjour,
J'utilise une JTable possédant les propriétés suivantes :
1. Le renderer et l’editor font appel à une même classe Helper (mais 2 objets Helper) pour l’affichage des cellules (utile pour avoir le même rendu en affichage et en édition). Ex : appel de l’helper par le renderer :
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 public class Renderer extends DefaultTableCellRenderer { private Helper helper = null; public Renderer() { this.helper = new Helper(false); } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { return helper.getCellComponent(table, value, row, column); } }
2. La hauteur des cellules est variable en fonction du contenu. Pour cela, la méthode getCellComponent () de l’helper comporte la portion de code suivante :
Mon pb est le suivant : au premier appel de l'éditeur, la hauteur de la cellule éditée prend la hauteur par défaut des cellules de la table, si bien que le contenu est souvent tronqué. Aux appels suivants de l'éditeur, la hauteur de la cellule éditée est la hauteur désirée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int preferredHeight = this.getPreferredSize().height; if (table.getRowHeight(row) != preferredHeight) { table.setRowHeight(row, preferredHeight); }
Si besoin, je peux vous fournir un petit programme pour reproduire ce cas (200 lignes).
Merci pour votre aide.
Partager