Я новичок в Java, и это сводило меня с ума, а также. Но я понял это ... Думаю. Ниже работает отлично в моем приложении, но я думаю, что у него есть некоторый риск не работать, как ожидалось, в некоторых необычных обстоятельствах.
import javax.swing.JTree;
import javax.swing.tree.TreePath;
public class TreeState {
private final JTree tree;
private StringBuilder sb;
public TreeState(JTree tree){
this.tree = tree;
}
public String getExpansionState(){
sb = new StringBuilder();
for(int i =0 ; i < tree.getRowCount(); i++){
TreePath tp = tree.getPathForRow(i);
if(tree.isExpanded(i)){
sb.append(tp.toString());
sb.append(",");
}
}
return sb.toString();
}
public void setExpansionState(String s){
for(int i = 0 ; i<tree.getRowCount(); i++){
TreePath tp = tree.getPathForRow(i);
if(s.contains(tp.toString())){
tree.expandRow(i);
}
}
}
}
Г-н Кумар не хакер, он спаситель. Если бы он был ТАК, мой представитель застрял бы в -13. –