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
|
JXTreeTable treeTable;
MonModelTree treeModel;
...
treeTable = new JXTreeTable(treeModel);
---------
// Ton modéle (la classe MonObjectTree correspond à ton objet de l'arbre contenant les références enfants)
public class MonModelTree extends AbstractTreeTableModel {
....
static protected String[] cNames = {"Col1", "Col2"};
// Types of the columns.
static protected Class<?>[] cTypes = {String.class, String.class};
public MonModelTree (MonObjectTree root) {
super(root);
}
public int getColumnCount() {
return cNames.length;
}
@Override
public String getColumnName(int column) {
return cNames[column];
}
@Override
public Class<?> getColumnClass(int column) {
return cTypes[column];
}
public Object getValueAt(Object node, int column) {
Object result = null;
switch(column) {
case 0 :
result = ((MonObjectTree ) node).getCol1();
break;
case 1 :
result = (((MonObjectTree ) node).getCol2());
break;
}
return result;
}
public int getChildCount(Object node) {
return ((MonObjectTree)node).getCount();
}
public Object getChild(Object node, int i) {
return getChildren(node)[i];
}
@Override
public boolean isLeaf(Object node) {
return (((MonObjectTree)node).getCount() == 0);
}
public Object[] getChildren(Object node) {
return ((MonObjectTree)node).getChildren();
}
}
public class MonObjectTree {
String col1;
String col2;
List<MonObjectTree > children;
// getter and setter
....
} |
Partager