Comment créer une table simple en Java pour une utilisation dans une interface graphique

Utilisation de tableaux pour stocker les données de table

Un moyen simple de fournir des données

classe consiste à utiliser deux tableaux. Le premier contient les noms de colonne dans un

tableau:

Le deuxième tableau est un tableau d'objets à deux dimensions qui contient les données de la table. Cette gamme, par exemple, comprend six nageurs olympiques:

La clé ici est de s'assurer que les deux tableaux ont le même nombre de colonnes.

Construire la JTable

Une fois les données en place, la création de la table est une tâche simple. Appelez simplement le

JTable
constructeur et passez-lui les deux tableaux: vous voudrez probablement ajouter des barres de défilement pour vous assurer que l'utilisateur peut voir toutes les données. Pour ce faire, placez le.
JTable
dans une
JScrollPane
: Maintenant, lorsque le tableau est affiché, vous verrez les colonnes et les lignes de données et aurez la possibilité de faire défiler vers le haut et vers le bas.

L'objet JTable fournit une table interactive. Si vous double-cliquez sur l'une des cellules, vous pourrez modifier le contenu - bien que toute modification n'affecte que l'interface graphique, pas les données sous-jacentes. (Un

instagram viewer
écouteur d'événements devrait être mis en œuvre pour gérer la modification des données.).

Pour modifier la largeur des colonnes, passez la souris sur le bord d'un en-tête de colonne et faites-la glisser d'avant en arrière. Pour modifier l'ordre des colonnes, cliquez et maintenez un en-tête de colonne, puis faites-le glisser vers la nouvelle position.

Tri des colonnes

Pour ajouter la possibilité de trier les lignes, appelez le

setAutoCreateRowSorter
méthode: lorsque cette méthode est définie sur true, vous pouvez cliquer sur un en-tête de colonne pour trier les lignes en fonction du contenu des cellules sous cette colonne.

Modification de l'apparence du tableau

Pour contrôler la visibilité des lignes de la grille, utilisez le

setShowGrid
méthode: pour changer complètement la couleur du tableau, utilisez la.
setBackground
et
setGridColor
méthodes: Les largeurs de colonne du tableau sont égales par défaut. Si le conteneur dans lequel se trouve la table est redimensionnable, alors les largeurs des colonnes se dilateront et se rétréciront et le conteneur augmentera plus ou moins. Si un utilisateur redimensionne la colonne, la largeur des colonnes à droite changera pour s'adapter à la nouvelle taille de colonne.

Les largeurs de colonne initiales peuvent être définies à l'aide de la méthode setPreferredWidth ou d'une colonne. Utilisez la classe TableColumn pour obtenir d'abord une référence à la colonne, puis la méthode setPreferredWidth pour définir la taille:

Sélection de lignes

Par défaut, l'utilisateur peut sélectionner les lignes du tableau de trois manières:

  • Pour sélectionner une seule ligne, sélectionnez une cellule de tableau dans cette ligne.
  • Pour sélectionner plusieurs lignes continues, faites glisser la souris sur plusieurs lignes ou sélectionnez les cellules du tableau avec la cellule Maj enfoncée.
  • Pour sélectionner plusieurs lignes non continues, sélectionnez les cellules du tableau tout en maintenant la touche clé de contrôle (touche de commande pour Mac).

Utilisation d'un modèle de tableau

L'utilisation de quelques tableaux pour les données d'une table peut être utile si vous voulez un simple Chaîne-tableau basé qui peut être édité. Si vous regardez le tableau de données que nous avons créé, il contient d'autres types de données que

- les

la colonne contient

et le

la colonne contient

. Pourtant, ces deux colonnes sont affichées sous forme de chaînes. Pour modifier ce comportement, créez un modèle de table.

Un modèle de table gère les données à afficher dans la table. Pour implémenter un modèle de table, vous pouvez créer une classe qui étend le

classe:

Les six méthodes ci-dessus sont celles utilisées dans ce guide pas à pas, mais il existe d'autres méthodes définies par

classe qui sont utiles pour manipuler les données dans un

objet. Lors de l'extension d'une classe pour utiliser le

vous devez uniquement implémenter le

,

et

méthodes.

Créez une nouvelle classe implémentant les cinq méthodes ci-dessus:

Il est logique dans cet exemple pour le

pour contenir les deux chaînes contenant les données de la table. Puis le

,

et

Les méthodes peuvent utiliser les tableaux pour fournir les valeurs de la table. Notez également comment

a été écrite pour interdire la modification des deux premières colonnes.

Maintenant, au lieu d'utiliser les deux tableaux pour créer le

objet, nous pouvons utiliser le

classe:

Lorsque le code s'exécute, vous verrez que le

L'objet utilise le modèle de tableau car aucune des cellules du tableau n'est modifiable et les noms de colonne sont correctement utilisés. Si la

n'a pas été implémentée, les noms de colonne sur la table s'affichent comme les noms par défaut A, B, C, D, etc.

Considérons maintenant la méthode

. À lui seul, le modèle de table mérite d'être mis en œuvre car il fournit la

objet avec le type de données contenu dans chaque colonne. Si vous vous souvenez, le tableau de données d'objet a deux colonnes qui ne sont pas

types de données: le

colonne qui contient des entiers, et la

colonne qui contient

. La connaissance de ces types de données modifie la fonctionnalité fournie par le

objet pour ces colonnes. L'exécution de l'exemple de code de table avec le modèle de table implémenté signifie que

la colonne sera en fait une série de cases à cocher.

Ajout d'un éditeur ComboBox

Vous pouvez définir des éditeurs personnalisés pour les cellules du tableau. Par exemple, vous pouvez faire d'une zone de liste déroulante une alternative à l'édition de texte standard pour un champ.

Voici un exemple d'utilisation

le champ pays:

Pour définir l'éditeur par défaut de la colonne pays, utilisez le

pour obtenir une référence à la colonne country, et la

méthode pour définir la

en tant qu'éditeur de cellule:

instagram story viewer