/* * */ package treeview; import java.net.InetAddress; import java.net.UnknownHostException; import java.nio.file.FileSystems; import java.nio.file.Path; import java.util.logging.Level; import javax.swing.filechooser.FileSystemView; import application.Main; import application.tools.InfoTool; import javafx.scene.image.Image; import javafx.scene.image.ImageView; /** * Manages the SystemTree. * * @author GOXR3PLUS */ public class SystemRoot { /** The Constant folderImage. */ public static final Image closedFolderImage = new Image( TreeItemFile.class.getResourceAsStream(InfoTool.IMAGES + "folder.png")); /** The Constant openedFolderImage. */ public static final Image openedFolderImage = new Image( TreeItemFile.class.getResourceAsStream(InfoTool.IMAGES + "openedFolder.png")); /** The Constant fileImage. */ public static final Image fileImage = new Image( TreeItemFile.class.getResourceAsStream(InfoTool.IMAGES + "file.png")); /** The host name. */ String hostName = "computer"; /** The root. */ TreeItemFile root; /** The root directories. */ Iterable<Path> rootDirectories; /** * Constructor. */ public SystemRoot() { // setup the file browser root try { hostName = InetAddress.getLocalHost().getHostName(); } catch (UnknownHostException ex) { Main.logger.log(Level.WARNING, "", ex); } root = new TreeItemFile(hostName); root.setGraphic(new ImageView(new Image(getClass().getResourceAsStream(InfoTool.IMAGES + "computer.png")))); // Add the user directory TreeItemFile userHome = new TreeItemFile(System.getProperty("user.home")); root.getChildren().add(userHome); // Add the user desktop FileSystemView filesys = FileSystemView.getFileSystemView(); TreeItemFile dekstop = new TreeItemFile(filesys.getHomeDirectory().getAbsolutePath()); root.getChildren().add(dekstop); // Add the root directories rootDirectories = FileSystems.getDefault().getRootDirectories(); for (Path name : rootDirectories) { TreeItemFile treeNode = new TreeItemFile(name.toString()); root.getChildren().add(treeNode); } root.setExpanded(true); } /** * @return The root item of the FileSystem */ public TreeItemFile getRoot() { return root; } }