CCB Premier Import
This commit is contained in:
96
TestTableau/src/modele/ZModel.java
Normal file
96
TestTableau/src/modele/ZModel.java
Normal file
@@ -0,0 +1,96 @@
|
||||
package modele;
|
||||
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.table.AbstractTableModel;
|
||||
|
||||
class ZModel extends AbstractTableModel{
|
||||
private Object[][] data;
|
||||
private String[] title;
|
||||
|
||||
//Constructeur
|
||||
public ZModel(Object[][] data, String[] title){
|
||||
this.data = data;
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
//Retourne le titre de la colonne <20> l'indice sp<73>cifi<66>
|
||||
public String getColumnName(int col) {
|
||||
return this.title[col];
|
||||
}
|
||||
|
||||
//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 <20> l'emplacement sp<73>cifi<66>
|
||||
public Object getValueAt(int row, int col) {
|
||||
return this.data[row][col];
|
||||
}
|
||||
|
||||
//D<>finit la valeur <20> l'emplacement sp<73>cifi<66>
|
||||
public void setValueAt(Object value, int row, int col) {
|
||||
//On interdit la modification sur certaines colonnes !
|
||||
if(!this.getColumnName(col).equals("Age")
|
||||
&& !this.getColumnName(col).equals("Suppression"))
|
||||
this.data[row][col] = value;
|
||||
}
|
||||
|
||||
//Retourne la classe de la donn<6E>e de la colonne
|
||||
public Class getColumnClass(int col){
|
||||
//On retourne le type de la cellule <20> la colonne demand<6E>e
|
||||
//On se moque de la ligne puisque les donn<6E>es sont les m<>mes
|
||||
//On choisit donc la premi<6D>re ligne
|
||||
return this.data[0][col].getClass();
|
||||
}
|
||||
|
||||
//M<>thode permettant de retirer une ligne du tableau
|
||||
public void removeRow(int position){
|
||||
|
||||
int indice = 0, indice2 = 0;
|
||||
int nbRow = this.getRowCount()-1;
|
||||
int nbCol = this.getColumnCount();
|
||||
Object temp[][] = new Object[nbRow][nbCol];
|
||||
|
||||
for(Object[] value : this.data){
|
||||
if(indice != position){
|
||||
temp[indice2++] = value;
|
||||
}
|
||||
System.out.println("Indice = " + indice);
|
||||
indice++;
|
||||
}
|
||||
this.data = temp;
|
||||
temp = null;
|
||||
//Cette m<>thode permet d'avertir le tableau que les donn<6E>es
|
||||
//ont <20>t<EFBFBD> modifi<66>es, ce qui permet une mise <20> jour compl<70>te du tableau
|
||||
this.fireTableDataChanged();
|
||||
}
|
||||
|
||||
//Permet d'ajouter une ligne dans le tableau
|
||||
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<6E>es
|
||||
//ont <20>t<EFBFBD> modifi<66>es, ce qui permet une mise <20> jour compl<70>te du tableau
|
||||
this.fireTableDataChanged();
|
||||
}
|
||||
|
||||
|
||||
public boolean isCellEditable(int row, int col){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user