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
|
public class CopyOfCopyOfJTableDemo {
private String[] columnNames = {"Nom du fichier", "Emplacement", "Taille", "Fichier identique", "Supprimer"};
private Object [][] data = new Object[100][5];
MyTableModel model;
private JTable table;
JFrame frame = new JFrame("FramePrincipale");
Container content = frame.getContentPane();
public CopyOfCopyOfJTableDemo() {
model = new MyTableModel();
table = new JTable(model);
...
}
public class MyTableModel extends AbstractTableModel {
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 utilise cette methode pour determiner le renderer/ par defaut
* éditeur pour chaque cellule. Si nous ne avions pas mis en uvre cette méthode, alors la dernière colonne serait contenir du texte ("true" / "false"),
* plutôt que d'une case à cocher.
*/
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
/*
* Ne pas besoin de mettre en uvre cette méthode, sauf si la table n'est pas ou partir pas éditable
*
*/
public boolean isCellEditable(int row, int col) {
//Note that the data/cell address is constant,
//no matter where the cell appears onscreen.
if (col < 2) {
return false;
} else {
return true;
}
}
/*
* Ne pas besoin de mettre en uvre cette méthode, sauf si les données de votre table peuvent changer.
*
*/
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
} |
Partager