Modele de tableau

19 février 2019 / Non classé / Leave a comment

Toutes les cases d`option sous « mode de sélection » appellent JTable. setSelectionMode. Cette méthode prend un seul argument, qui doit être l`une des constantes suivantes définies dans javax. swing. ListSelectionModel: MULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION et SINGLE_SELECTION. Que faire si vous souhaitez spécifier un éditeur autre qu`un champ de texte, une case à cocher ou une zone de liste déroulante? Comme DefaultCellEditor ne prend pas en charge d`autres types de composants, vous devez faire un peu plus de travail. Vous devez créer une classe qui implémente l`interface TableCellEditor. La classe AbstractCellEditor est une bonne superclasse à utiliser. Il implémente la superinterface de TableCellEditor, CellEditor, vous permettant de vous épargner la peine d`implémenter le code de déclenchement de l`événement nécessaire pour les éditeurs de cellules. Par exemple, chaque cellule de la colonne # of years dans TableDemo contient des données de nombre spécifiquement, un objet Integer. Par défaut, le rendu de cellule d`une colonne contenant des nombres utilise une seule instance JLabel pour dessiner les nombres appropriés, alignés à droite, sur les cellules de la colonne. Si l`utilisateur commence à modifier l`une des cellules, l`éditeur de cellule par défaut utilise un JTextField aligné à droite pour contrôler la modification de la cellule.

Retour à TableSelectionDemo, notez les trois cases d`option sous « options de sélection ». Chaque case à cocher contrôle l`état d`une variable liée booléenne définie par JTable: il existe deux constructeurs JTable qui acceptent directement les données (SimpleTableDemo utilise le premier): cette section vous indique comment créer et spécifier un moteur de rendu de cellule. Vous pouvez définir un rendu de cellule spécifique au type à l`aide de la méthode JTable setDefaultRenderer. Pour spécifier que les cellules d`une colonne particulière doivent utiliser un moteur de rendu, vous utilisez la méthode TableColumn setCellRenderer. Vous pouvez même spécifier un rendu spécifique à une cellule en créant une sous-classe JTable. Si vous souhaitez contourner ces restrictions, vous devez implémenter votre propre modèle de table, comme décrit dans création d`un modèle de table. Afin de déclencher des événements de changement de données, le modèle de table doit savoir comment construire un objet TableModelEvent. Il peut s`agir d`une procédure complexe, mais elle est déjà implémentée dans DefaultTableModel. Vous pouvez soit autoriser JTable à utiliser son instance par défaut de DefaultTableModel, soit créer votre propre sous-classe personnalisée de DefaultTableModel. Donc, je suis kindda coincé ici pour procéder à la mise en œuvre AbstractTableModel et remplir et afficher cette table….:/ Pour des applications d`impression plus sophistiquées, utilisez JTable. getPrintable pour obtenir un objet imprimable pour la table. Pour plus d`informations sur Printable, reportez-vous à la leçon d`impression dans la piste graphiques 2D.

JTable de Java Swing est facilement l`une des pièces les plus puissantes, personnalisables et difficiles de l`ensemble de l`API. À l`exception de JTree, aucun autre objet au sein de l`API ne peut être utilisé de nombreuses façons. JTable fournit plusieurs surcharges d`impression avec différentes options. Le code suivant de TablePrintDemo. Java montre comment définir un en-tête de page: dans l`instantané de TableDialogEditDemo, le convertisseur utilisé pour les cellules de couleur favorites est une sous-classe de JLabel appelée ColorRenderer. Voici des extraits de ColorRenderer. Java qui montrent comment il est implémenté.

Tags:

Written byequipe@reventys.com

Back to top