Montre comment utiliser un JTable pour afficher des données calculées sous forme de tableau.
Dans un précédent article nous avions vu comment définir notre propre TableModel. Voyons maintenant comment le personnaliser pour non pas gérer des données en mémoire mais afficher des données calculées
Dans mon enfance, à l’école primaire, nous avions des cahiers qui souvant avaient en quatrième de couverture un tableau des tables de multiplications. Nous allons prendre cet exemple pour montrer comment on peut utiliser un JTable pour afficher des données calculées. Ce principe peut être intéressant car quelque soit la taille virtuelle du tableau, il ne prend aucune place en mémoire.
Nous allons reprendre le programme d’affichage d’un tableau de l’exemple précédent que nous allons modifier.
Classe Main
Très peu de changement dans cette classe si ce n’est le titre de la fenêtre.
Classe MainFrame
Pour cette classe, on supprime toutes les lignes servant à initialiser le tableau de données. Le constructeur TablePanel n’aura donc plus besoin de paramètres.
Classes TablePanel et MultiplicationModel
C’est la classe MultiplicationModel qui est chargée de calculer chaque cellule que devra afficher le JTable. Nous pouvons voir qu’il n’a plus besoin de gérer de tableau mémoire puisque c’est la méthode getValueAt() qui calcule les données de chaque cellule à afficher.
Le TableModel n’a plus besoin de recevoir de tableau de données. Son constructeur n’a donc plus besoin de paramètres. Il nous suffit d’ajouter quelques lignes de code pour définir une largeur minimales pour les colonnes du JTable en récupérant un objet TableColumn pour chacune des colonnes.
A l’exécution du programme, nous avons bien le résultat suivant :
Il serait possible d’améliorer la présentation en formatant les données ou définir des couleurs de fond différentes pour la première colonne par exemple. Pour cela, il faudra passer par une nouvelle classe qui est le CellRenderer qui comme son nom l’indique, sert à personnaliser l’affichage des cellules. Cela pourra être le sujet d’un autre article.
A travers un petit exemple, nous avons pu voir l’utilité d’un TableModel personnalisé pour afficher un tableau de données calculées. On pourra utiliser le même principe pour afficher des doonées contenues dans une base de données.
Crée par: chris
Créé le: 23 août 2018
Modifié le: 23 août 2018
Nombre de visites: 80
Popularité: 11 %
Popularité absolue: 1
2003-2024 LePpf
Plan du site
| Se connecter |
RSS 2.0 |
Sur YouTube
Visiteurs connectés : 0
Nombre moyen de visites quotidiennes sur le site: 213