我使用TreeModel使用数据库值动态填充树。有没有办法用它的身份填充和映射项目..
是否有任何方法可以获取树的父级和子级的选定索引值。当我尝试
时,我可以单独用文本填充树String[][] arr = new String[][] {sBuilding.toArray(new String[sBuilding.size()]), sFloor.toArray(new String[sFloor.size()])};
model = new TreeModel() {
public Vector getChildren(Object parent) {
if (parent == null) {
MainParent = parent;
Vector v = new Vector();
for (int iter = 0; iter < arr[0].length; iter++) {
v.addElement(arr[0][iter]);
}
return v;
}
Vector v = new Vector();
for (int iter = 0; iter < arr[0].length; iter++) {
if (parent == arr[0][iter]) {
if (arr.length > iter + 1 && arr[iter + 1] != null) {
for (int i = 0; i < arr[iter + 1].length; i++) {
v.addElement(arr[iter + 1][i]);
}
}
}
}
return v;
答案 0 :(得分:0)
树没有索引,它有一个路径。字符串树对于演示目的非常有用,但对于现实生活而言并非如此,在现实生活中,您期望使用FileTreeModel之类的东西,映射到本质上是分层的数据。
因此,您确实需要所选的值而不是所选的索引,并且可以通过树轻松访问。
答案 1 :(得分:0)
使用函数Tree#addLeafListener(com.codename1.ui.events.ActionListener)
可能对您有用,这样您就可以知道何时单击某个元素并获取其路径。如果你想要更复杂的属性,你可以自己制作地图。