Présente le composant Swing JTable à travers un exemple de l’affichage de données tabulaires.
Swing propose un composant permettant de gérer des données sous forme de tableau. Il s’agit du JTable. Ce dernier disposant de nombreuses fonctionnalités, il est bon de commencer en douceur par un petit exemple de présentation.
Le composant JTable fait partie des composants Swing complexes car il est capable de répondre à plusieurs types de problèmes d’affichages et d’éditions de données tabulaires. Nous pourrons aussi bien créer des tableaux contenant du texte ou toute sortes d’objets comme des images. Il sera également possible de définir des composants d’édition personnalisés en fonction du type de données comme des cases à cocher pour des données booléennes par exemple.
Nous allons voir dans cet article un exemple très basique d’affichage d’un simple tableau de données alphanumériques. Cela permettra de débuter en douceur avec ce composant.
Le but de ce premier exemple va être d’afficher dans une fenêtre, le contenu d’un tableau en mémoire avec une première ligne contenant les titres de colonnes. Le résultat devra donc ressembler à cela :
Si l’on consulte la javadoc, parmi les constructeurs disponibles, nous en voyons un qui attend justement deux paramètres : le premier étant le contenu du tableau à afficher et le second la définition des titres de chaque colonnes.
JTable(Object[][] rowData, Object[] columnNames)
Constructs a JTable to display the values in the two dimensional array, rowData, with column names, columnNames.
Donc il suffit de remplir un tableau à 2 dimensions avec les données à afficher et un second tableau avec les entêtes de colonnes.
Définissons notre squelette de programme avec une classe contenant la fonction main() et nos 2 tableaux.
Ajoutons dans la fonction main(), la définition de la fenêtre chargée d’afficher le tableau.
Ce code se contente de définir une JFrame dans laquelle nous créons dans la partie centrale le JTable.
Les lignes suivantes permettent simplement de préciser que :
En exécutant le programme, nous avons le résultat suivant :
Nous voyons bien le contenu du tableau s’afficher mais il manque l’affichage des titres de colonnes et il n’y a pas de scrollbar pour faire défiler les lignes non visibles. Il suffit pour résoudre ces 2 problèmes, d’intégrer le JTable dans un composant JScrollPane.
Il suffit de modifier la ligne :
En exécutant à nouveau le programme :
Nous avons bien réalisé, en quelques lignes un programme capable de visualiser et éditer un tableau de cellules contenant du texte. Bien sur, dans cet exemple, rien n’est prévu pour sauvegarder les modifications.
Nous avons vu, à travers cet exemple les bases du composant JTable. Ce n’est malheureusement pas suffisant pour exploiter ce dernier dans une véritable application. Par défaut, le JTable utilise pour des raisons historiques des Vector pour gérer les données en mémoire. Cette méthode n’est pas forcément la mieux adaptée en fonction du type de données à afficher. Nous pourrions avoir besoin d’afficher des données issues d’un ArrayList, d’une base de données ou encore afficher des données calculées. Pour cela, nous devrons passer par un objet intermédiaire : le TableModel. Ce sera le sujet d’un prochain article.
Crée par: chris
Créé le: 19 juin 2018
Modifié le: 28 juin 2018
Nombre de visites: 316
Popularité: 7 %
Popularité absolue: 1
2003-2024 LePpf
Plan du site
| Se connecter |
RSS 2.0 |
Sur YouTube
Visiteurs connectés : 4
Nombre moyen de visites quotidiennes sur le site: 205