Maison >Java >javaDidacticiel >Comment actualiser la couleur d'arrière-plan d'une ligne dans JTable ?
Actualisation de la couleur d'arrière-plan d'une ligne dans JTable
Lorsque vous travaillez avec Swing JTables, il est possible de définir la couleur d'arrière-plan des lignes individuelles en utilisant moteurs de rendu de cellules personnalisés. En implémentant la méthode prepareRenderer dans une classe de rendu, vous pouvez manipuler la couleur d'arrière-plan en fonction de conditions spécifiques ou d'interactions utilisateur.
Considérez l'exemple suivant :
public class ColorTable extends JTable { private static final long serialVersionUID = 1L; private Map<Integer, Color> rowColors = new HashMap<>(); @Override public Component prepareRenderer(TableCellRenderer renderer, int row, int column) { Component c = super.prepareRenderer(renderer, row, column); if (!isRowSelected(row)) { Color color = rowColors.get(row); if (color != null) { c.setBackground(color); } else { c.setBackground(getDefaultRenderer(getColumnClass(column)).getBackground()); } } return c; } public void setRowColor(int row, Color color) { rowColors.put(row, color); } }
Dans cet exemple, la ColorTable La classe étend JTable et vous permet de spécifier différentes couleurs d'arrière-plan pour les lignes en appelant la méthode setRowColor. Cela peut être utile pour indiquer visuellement l'état ou l'importance de lignes individuelles dans le tableau.
Réinitialiser les couleurs des lignes
Pour réinitialiser les couleurs d'arrière-plan de toutes les lignes par défaut couleur, vous pouvez utiliser une méthode comme la suivante :
public void resetRowColors(Color defaultColor) { rowColors.clear(); setBackground(defaultColor); }
Exemple utilisation :
// Create a ColorTable ColorTable table = new ColorTable(); // Add data to the table table.setModel(new DefaultTableModel(new Object[][], new String[]{})); // Set background color for specific rows table.setRowColor(0, Color.GREEN); table.setRowColor(1, Color.RED); // Reset row colors to default table.resetRowColors(Color.WHITE);
En implémentant un moteur de rendu de cellules personnalisé et en fournissant des méthodes pour définir et réinitialiser les couleurs des lignes, vous pouvez facilement modifier l'apparence des lignes JTable en fonction de vos besoins spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!