1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
public class ModeltableauOffre extends AbstractTableModel
{
private static final long serialVersionUID = 1L;
private Object[][] data;
private String[] title;
/*
public void paintComponent(Graphics g){
//Vous pourrez voir cette phrase à chaque fois que la méthode est invoquée !
System.out.println("Je suis exécutée ! ! !");
}
*/
/* protected Color colorForRow(int row) {
return (row % 2 == 0) ? GuiUtilities.ALTERNATE_ROW_COLOR : getBackground();
}*/
public ModeltableauOffre(Object[][] data, String[] title)
{
this.data = data;
this.title = title;
}
//Retourne le nombre de colonnes
public int getColumnCount() {
return this.title.length;
}
//Retourne le nombre de lignes
public int getRowCount() {
return this.data.length;
}
//Retourne la valeur à l'emplacement spécifié
public Object getValueAt(int row, int col)
{
return this.data[row][col];
}
public void setValueAt(Object value, int row, int col) {
//On interdit la modification sur le colonne ou se trouve le baton parcque si je la laisse ell va devenir false!
if(!this.getColumnName(col).equals(" ") )
this.data[row][col] = value;
fireTableCellUpdated(row, col);
}
//pur afficher les nom des titres
public String getColumnName(int col) {
return this.title[col];
}
// les cellules ne sont pas editable dailleurs c par default
public boolean isCellEditable(int row, int col){
//On appelle la méthode getValueAt qui retourne la valeur d'une cellule
//Et on fait un traitement spécifique si c'est un JButton
//if(getValueAt(row, col) == "Modifier" || getValueAt(row, col) == "Ajouter")
// 4 c'est colmne service et 7 c'est dateconnexion
if (col == 0 || col == 1 || col == 2)
return false;
else return true;
}
public void addRow(Object[] data){
int indice = 0, nbRow = this.getRowCount(), nbCol = this.getColumnCount();
Object temp[][] = this.data;
this.data = new Object[nbRow+1][nbCol];
for(Object[] value : temp)
this.data[indice++] = value;
this.data[indice] = data;
temp = null;
//Cette méthode permet d'avertir le tableau que les données ont été modifiées
//Ce qui permet une mise à jours complète du tableau
this.fireTableDataChanged();
}
public void addColumn(Object[] data){
int indice = 0, nbRow = this.getRowCount(), nbCol = this.getColumnCount();
Object temp[][] = this.data;
this.data = new Object[nbRow][nbCol+1];
for(Object[] value : temp)
this.data[indice++] = value;
this.data[indice] = data;
temp = null;
//Cette méthode permet d'avertir le tableau que les données ont été modifiées
//Ce qui permet une mise à jours complète du tableau
this.fireTableDataChanged();
}
public DefaultCellEditor getCellEditor() {
// TODO Auto-generated method stub
return null;
}
public void clear() {
// TODO Auto-generated method stub
for(int i = modeleTableauOffre.getRowCount(); i > 0; --i)
modeleTableauOffre.removeRow(i-1);
}
private void removeRow(int position) {
// TODO Auto-generated method stub
int indice = 0, indice2 = 0, nbRow = this.getRowCount()-1, nbCol = this.getColumnCount();
Object temp[][] = new Object[nbRow][nbCol];
for(Object[] value : this.data){
if(indice != position){
temp[indice2++] = value;
}
indice++;
}
this.data = temp;
temp = null;
//Cette méthode permet d'avertir le tableau que les données ont été modifiées
//Ce qui permet une mise à jours complète du tableau
this.fireTableDataChanged();
}
public void getDefaultRenderer() {
// TODO Auto-generated method stub
}
public void setEnable(boolean b) {
// TODO Auto-generated method stub
}
} |
Partager