Loading. Please wait...
search
  • Home
  • Modèle tabulaire

Modèle tabulaire

Lorsqu`une table utilise un trieur, les données que les utilisateurs voient peuvent être dans un ordre différent de celui spécifié par le modèle de données et ne peuvent pas inclure toutes les lignes spécifiées par le modèle de données. Les données que l`utilisateur voit réellement est connue comme la vue, et a son propre ensemble de coordonnées. JTable fournit des méthodes qui convertissent des coordonnées de modèle pour afficher les coordonnées convertColumnIndexToView et convertRowIndexToView et qui convertissent des coordonnées d`affichage en coordonnées de modèle convertColumnIndexToModel et convertRowIndexToModel. Vous pouvez également remarquer que la modification de l`une des trois options de sélection peut affecter les autres. Cela est dû au fait que l`activation de la sélection de ligne et de la sélection de colonne est identique à la sélection des cellules. JTable met automatiquement à jour les trois variables liées si nécessaire pour les maintenir cohérentes. Si tout ce que vous avez besoin d`un JTable pour est d`afficher des données de façon tabulaire, cet article n`est pas pour vous. Cependant, si vous avez déjà utilisé le DefaultTableModel et que vous l`avez trouvé ou que vous l`avez trouvé en écrivant un code horriblement inmaintenable pour manipuler les données ou récupérer les données, lisez-la réponse est assez simple. Cet exemple de programme présente la table familière et permet à l`utilisateur de manipuler certaines options JTable. Il existe également un volet de texte qui consigne les événements de sélection.

Si vous définissez l`éditeur pour une seule colonne de cellules (à l`aide de la méthode TableColumn setCellEditor) ou pour un type spécifique de données (à l`aide de la méthode JTable setDefaultEditor), vous spécifiez l`éditeur à l`aide d`un argument qui adhère à la TableCellEditor Interface. Heureusement, la classe DefaultCellEditor implémente cette interface et fournit des constructeurs pour vous permettre de spécifier un composant d`édition qui est un JTextField, JCheckBox ou JComboBox. En général, vous n`avez pas à spécifier explicitement une case à cocher en tant qu`éditeur, car les colonnes avec des données booléennes utilisent automatiquement un convertisseur et un éditeur de case à cocher. Les colonnes de la table sont les suivantes: [terme de chaîne] [int absFrequency] [int docFrequency] [double invFrequency] vous pouvez ajouter une info-bulle à un en-tête de colonne en définissant le texte de l`info-bulle pour le JTableHeader de la table. Souvent, différents en-têtes de colonne requièrent un texte d`info-bulle différent. Vous pouvez modifier le texte en substituant la méthode getToolTipText de l`en-tête de table. Alternativement, vous pouvez appeler TableColumn. setHeaderRenderer pour fournir un convertisseur personnalisé pour l`en-tête.

Donc, je dans AbstractTableModel je peux définir des noms de colonnes, mais je ne sais pas comment obtenir les données de l`objet [] [] avec les résultats de la méthode suivante: il est facile de personnaliser le texte ou l`image rendu par le moteur de rendu par défaut, DefaultTableCellRenderer. Il vous suffit de créer une sous-classe et d`implémenter la méthode setValue afin qu`elle appelle setText ou setIcon avec la chaîne ou l`image appropriée. Par exemple, voici comment le rendu de date par défaut est implémenté: pour déterminer le comparateur à utiliser pour une colonne, TableRowSorter tente d`appliquer chacune des règles suivantes à son tour. Les règles sont suivies dans l`ordre indiqué ci-dessous; la première règle qui fournit le trieur avec un comparateur est utilisée, et les règles de restining ignorées. Le constructeur JTable utilisé par SimpleTableDemo crée son modèle de table avec du code comme ceci: voir ci-dessous le code pris à partir de TableDemo. Java qui est différent de SimpleTableDemo. java. La police en gras indique le code qui rend le modèle de cette table différent du modèle de table défini automatiquement pour SimpleTableDemo.

Categories

Uncategorized

Tags

Share it on your social network:

Or you can just copy and share this url
Related Posts