Comment fusionner une cellule dans DefaultTableModel / JTable?
J'ai beaucoup cherché et obtenu quelques réponses à cette Q. mais beaucoup d'entre eux sont appelés des liens qui donnent à l'erreur 404.
Je veux faire un tableau comme ceci:
Est-il une méthode en java?
source d'informationauteur Nikhil Chilwant
Vous devez vous connecter pour publier un commentaire.
MultiSpanCellTableExample montre comment fusionner des cellules par la création d'une coutume
TableUI
. Il semble y avoir un problème dans cet exemple que les causesStackOverflowError
au moins dans la version 6 de Java. Pour résoudre ce problème, à l'intérieur deAttributiveCellTableModel.setDataVector()
remplacer:avec:
IE:
Le problème est que
setColumnIdentifiers
appels ensetDataVector
d'où le déclenchement de laStackOverflowError
. Une fois fixée, c'est la façon dont l'exemple ressemble à ceci:Il y a aussi une solution prête à l'emploi à partir de JIDEmalheureusement, il n'est pas libre. Voici par exemple
CellSpanTable
:MultiCellSpanTableExample est parfait, mais il a un petit problème qui peut devenir un énorme problème si votre table a trop de colonnes. Comme vous pouvez le voir dans la exemple donné par tenorsax, apparemment, chaque colonne de la table a un pixel supplémentaire dans leur largeur. Ces pixels supplémentaires ajouter jusqu', de sorte que chaque colonne de plus déplacées que la précédente.
Je pourrais simplement le corriger en remplaçant la ligne:
avec:
Je sais que personne n'a demandé, mais j'espère que cela aide quelqu'un. 🙂