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();
}
}
видел, как это сделано изменения, и это показывает Исключение в потоке "основного" java.lang.NullPointerException \t на Arrears.NewJTreeList.main (NewJTreeList.java:36) , где линия 36 - Файл [] roots = fileSystemView.getRoots(); –
Возможно, ваше приложение не имеет прав на получение такой информации. – KernelPanic
* «Это показывает исключение» * 1. Для получения более эффективной помощи опубликуйте [SSCCE] (http://sscce.org/). 2. Всегда копируйте/вставляйте вывод ошибок и исключений. 3. Используйте форматирование кода для кода, ввода/вывода и структурированных документов, таких как HTML или XML. Для этого выберите образец и нажмите кнопку '{}' над формой отправки сообщений/редактирования. –