Файловый проводник Java - PullRequest
2 голосов
/ 30 мая 2010

Мне бы хотелось иметь какой-нибудь файловый браузер, такой как Windows Explorer, внутри Java-приложения.

Я просто хочу что-то, что может рекурсивно выводить файл внутри папки.

Есть ли простой способ сделать это?

Я уже пытался использовать JFileChooser, но это не то, что я хочу.

Ответы [ 3 ]

5 голосов
/ 30 мая 2010

Этот фрагмент позволяет вам перечислить все файлы рекурсивно. Вы можете использовать данные для заполнения JTree, см. учебник

public class Filewalker { 

    public void walk( String path ) { 

        File root = new File( path ); 
        File[] list = root.listFiles(); 

        for ( File f : list ) { 
            if ( f.isDirectory() ) { 
                walk( f.getAbsolutePath() ); 
                System.err.println( "Dir:" + f.getAbsoluteFile() ); 
            } 
            else { 
                System.err.println( "File:" + f.getAbsoluteFile() ); 
            } 
        } 
    } 

    public static void main(String[] args) { 
        Filewalker fw = new Filewalker(); 
        fw.walk("c:\\" ); 
    } 
} 
2 голосов
/ 30 мая 2010

Возможно, что-то подобное поможет вам (это из-за быстрого поиска в Google, я не делаю GUI, но чувствовал себя обязанным помочь):

http://www.java2s.com/Code/Java/Swing-JFC/FileTreewithPopupMenu.htm

0 голосов
/ 30 мая 2010

Эмпирически java.awt.FileDialog предлагает более естественный вид, который может быть достаточным. Вот пример , который также ссылается на более универсальный компонент: org.netbeans.swing.outline.Outline.

...