JTree

2009-03-12 15 views
1

'daki dosyayı vurgulayamıyorum Bir dosyayı vurgulamak istediğim bir JTree oluşturdum ve dosyayı içeren dizin görünmezse, genişletmem gerekiyor.JTree

Örn: Kök düğümlü bir JTree oluşturdum: D:/Company/abb/src. Vurgulamak istediğim dosya - D: /Company/abb/src/bin/help.txt

Lütfen help.txt dosyasını vurgulamak için bana biraz mantık verin. peşin

cevap

0

JTree yılında

teşekkürler. İhtiyacınız olan şey makeVisible() olmalıdır.

+0

JTree'nizin modeline bağlıdır. Yolu oluşturan tek bileşenleri belirterek bir TreePath oluşturabilirsiniz. Belgeleri kontrol edin. – Bombe

+0

TreePath'i oluşturmak için bana bir örnek verebilir misiniz? DefaultTreeModel kullanıyorum. Bu bana çok yardımcı oluyor. – user77130

+0

AFAIK, bu tür bir özellik için kendi modelinizi oluşturmalısınız. –

1

Dosya sistemini temsil eden bir JTree'im var. İşte benim özel bir dizinin seçilmesine neden olan kodum (ve ağaç genişletilmiş ve gerekirse görünüm kaydırma).

JTree fsTree; 

void setSelectedPath(String pth) { 
    TreePath      jtp=buildTreePath(new File(pth)); 

    fsTree.setSelectionPath(jtp); 
    if(fsTree.getSelectionPath()==null) { fsTree.setSelectionRow(0);  } 
    else        { fsTree.scrollPathToVisible(jtp); } 
    } 

public TreePath buildTreePath(File dir) { 
    ArrayList       elms=new ArrayList(); 

    do { elms.add(0,dir); } while((dir=dir.getParentFile())!=null); 
    elms.add(0,root); 
    return new TreePath(elms.toArray(new File[elms.size()])); 
    }