2013-05-24 3 views
0

Вот мой код. Я не могу отобразить все диски в моей текущей системе в jtree, все, что он возвращает, - это случайный Java-файл, я новичок и не очень-то понимаю как это делается, в ожидании помощи ..Отображение всех дисков в системе в JTree

import java.awt.GridLayout; 
import java.io.File; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JTree; 
import javax.swing.tree.DefaultMutableTreeNode; 
import javax.swing.tree.TreeSelectionModel; 


public class JTreeLits extends JPanel 
{ 
JTree tree; 
public JTreeLits() 
{ 
     super(new GridLayout(1,0)); 
     DefaultMutableTreeNode rooter = new DefaultMutableTreeNode("FileSystem"); 
     DefaultMutableTreeNode parent; 
     File [] roots = File.listRoots(); 
     parent = new DefaultMutableTreeNode(roots); 
     rooter.add(parent); 

     tree = new JTree(rooter); 
     tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); 
     add(tree); 
} 
private static void createAndShowGUI() 
{ 
     JFrame frame = new JFrame("TreeDemo"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.add(new JTreeLits()); 
     frame.pack(); 
     frame.setVisible(true); 
     frame.setSize(250,400); 
} 
public static void main(String[] args) 
{ 
    createAndShowGUI(); 
} 
} 

ответ

2

Посмотрите на FileSystemView.getRoots() , который:

Возвращает все корневые разделы на этой системе. Например, в Windows это будет папка «Рабочий стол», а в DOS это будут диски A: через Z:.

  1. Как видно из File Browser GUI.

+0

видел, как это сделано изменения, и это показывает Исключение в потоке "основного" java.lang.NullPointerException \t на Arrears.NewJTreeList.main (NewJTreeList.java:36) , где линия 36 - Файл [] roots = fileSystemView.getRoots(); –

+0

Возможно, ваше приложение не имеет прав на получение такой информации. – KernelPanic

+1

* «Это показывает исключение» * 1. Для получения более эффективной помощи опубликуйте [SSCCE] (http://sscce.org/). 2. Всегда копируйте/вставляйте вывод ошибок и исключений. 3. Используйте форматирование кода для кода, ввода/вывода и структурированных документов, таких как HTML или XML. Для этого выберите образец и нажмите кнопку '{}' над формой отправки сообщений/редактирования. –

Смежные вопросы