Bonjour,
J'ai un petit souci en essayant de changer dynamiquement la taille de ma Jtable.
Au départ, je l'initialise avec la méthode ci-dessous et c'est nikel:
Ensuite, quand je clique sur un bouton, ca fait l'action suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public static void updateSizeTable(JTable table){ JTableHeader headerRenderer = table.getTableHeader(); table.setPreferredScrollableViewportSize(new Dimension(400, headerRenderer.getHeight() + table.getModel().getRowCount() * table.getRowHeight())); table.setPreferredSize(new Dimension(400, headerRenderer.getHeight() + table.getModel().getRowCount() * table.getRowHeight())); }
Ce qui se passe, c'est qu'en cliquant sur mon bouton, il m'ajoute un scrollbar pour pouvoir défiler vers le bas, mais je ne comprends pas pourquoi (même si effectivement j'ai défini ma table avec une scrollbar), car j'augmente simultanément la taille de la view port et ensutie celle de la table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public void actionPerformed(ActionEvent e) { Condition condition = new Condition(); ConditionsTableModel modele = (ConditionsTableModel)table.getModel(); modele.addRow(condition); TableUtil.updateSizeTable(table); } public void addRow(Condition condition){ conditions.add(condition); fireTableDataChanged(); }
Merci :-)
Partager