Como ordenar um JTree

1 resposta
P

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.

1 Resposta

P

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);
	 }
}
Criado 1 de julho de 2004
Ultima resposta 2 de jul. de 2004
Respostas 1
Participantes 1