changer la couleur d'une case dans un JTable
Dernière réponse : dans Programmation
je voulais changer la couleur d'une cellule dans un JTable alors j'ai créé la classe suivante
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class RedRenderer extends DefaultTableCellRenderer {
/**
*
*/
private static final long serialVersionUID = 1L;
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
// Tu appelles la méthode par défaut, qui te construit la case
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, 0, 0);
// Tu changes la couleur de la case
c.setBackground(Color.RED);
c.setForeground(Color.MAGENTA);
return table;
}
}
et quand je fait l'appel de ctte classe dans une autre
maJTable.setDefaultRenderer(null,new RedRenderer());
((RedRenderer)maJTable.getDefaultRenderer()).changeColors = true;
mais le problème est que ne se change
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class RedRenderer extends DefaultTableCellRenderer {
/**
*
*/
private static final long serialVersionUID = 1L;
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
// Tu appelles la méthode par défaut, qui te construit la case
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, 0, 0);
// Tu changes la couleur de la case
c.setBackground(Color.RED);
c.setForeground(Color.MAGENTA);
return table;
}
}
et quand je fait l'appel de ctte classe dans une autre
maJTable.setDefaultRenderer(null,new RedRenderer());
((RedRenderer)maJTable.getDefaultRenderer()).changeColors = true;
mais le problème est que ne se change
Autres pages sur : changer couleur case jtable
Lassé par la pub ? Créez un compte
Dernière chose, il faut que ton JTable comporte un TableModel
avec MyTableModel :
Exemple : http://java.sun.com/docs/books/tutorial/uiswing/compone...
jTable = new JTable(new MyTableModel());
avec MyTableModel :
class MyTableModel extends AbstractTableModel { private String[] columnNames = {"First Name", "Favorite Color", "Sport", "# of Years", "Vegetarian"}; private Object[][] data = { {"Mary", "ert", "Snowboarding", new Integer(5), new Boolean(false)}, {"Alison", "ert", "Rowing", new Integer(3), new Boolean(true)}, {"Kathy", "ert", "Knitting", new Integer(2), new Boolean(false)}, {"Sharon", "ert", "Speed reading", new Integer(20), new Boolean(true)}, {"Philip", "ert", "Pool", new Integer(10), new Boolean(false)} }; public int getColumnCount() { return columnNames.length; } public int getRowCount() { return data.length; } public String getColumnName(int col) { return columnNames[col]; } public Object getValueAt(int row, int col) { return data[row][col]; } /* * JTable uses this method to determine the default renderer/ * editor for each cell. If we didn't implement this method, * then the last column would contain text ("true"/"false"), * rather than a check box. */ public Class getColumnClass(int c) { return getValueAt(0, c).getClass(); } public boolean isCellEditable(int row, int col) { //Note that the data/cell address is constant, //no matter where the cell appears onscreen. if (col < 1) { return false; } else { return true; } } }
Exemple : http://java.sun.com/docs/books/tutorial/uiswing/compone...
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumComment changer de couleur de barre des tache pour windows starter
- ForumImprimer en noir sans changer les cartouches couleur sur imprimante hp C6180
- ForumWww changer la couleur de ma barre d outils fr
- ForumImprimer en noir sans changer les cartouches couleur sur imprimante hp C6180
- ForumChanger police et couleur du pseudo dans Trackmania
- ForumComment changer la couleur de peau des sims
- ForumChanger couleur axes graphe excel 2003
- ForumChanger la couleur se mon teint, est-ce possible ?
- ForumChanger la couleur d'une cellule Excel ??
- Voir plus