Boa tarde,
Tenho um JTree que já está carregado, porém preciso reordená-lo por ordem alfabética.
Aguém sabe como faço isso?
Obrigado.
Boa tarde,
Tenho um JTree que já está carregado, porém preciso reordená-lo por ordem alfabética.
Aguém sabe como faço isso?
Obrigado.
Encontrei uma solucao com a ajuda de outros.
Segue o codigo.
Obrigado.
import java.util.Collections;
import java.util.Comparator;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.MutableTreeNode;
public class MyDefaultMutableTreeNode extends DefaultMutableTreeNode
{
public MyDefaultMutableTreeNode(Object userObject)
{
super(userObject);
}
public MyDefaultMutableTreeNode()
{
super();
}
private void sort()
{
Collections.sort(super.children, new Comparator()
{
public int compare(Object o1, Object o2)
{
if(!(o1 instanceof DefaultMutableTreeNode))
return 0;
DefaultMutableTreeNode node1 = (DefaultMutableTreeNode)o1;
DefaultMutableTreeNode node2 = (DefaultMutableTreeNode)o2;
return node1.getUserObject().toString().compareTo(node2.getUserObject().toString());
}
});
}
public void addAndSort(MutableTreeNode newChild)
{
add(newChild);
sort();
}
public void add(MutableTreeNode newChild)
{
super.add(newChild);
}
}