亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Javafx簡單實現【我的電腦資源管理器】效果

2019-11-26 14:59:08
字體:
來源:轉載
供稿:網友

本文實例講述了Javafx簡單實現【我的電腦資源管理器】效果。分享給大家供大家參考。具體如下:

1. java代碼:

package ttt;import java.io.File;import javafx.application.Application;import javafx.beans.value.ChangeListener;import javafx.beans.value.ObservableValue;import javafx.collections.FXCollections;import javafx.collections.ObservableList;import javafx.scene.Scene;import javafx.scene.control.TableColumn;import javafx.scene.control.TableView;import javafx.scene.control.TreeItem;import javafx.scene.layout.BorderPane;import javafx.scene.layout.HBox;import javafx.scene.layout.Priority;import javafx.stage.Stage;import javafx.scene.control.TreeView;import javafx.scene.control.cell.PropertyValueFactory;public class TreeViews extends Application {  public static ObservableList<FileDetail> data = FXCollections.observableArrayList();  public static void main(String[] args) {    launch(args);  }  @Override  public void start(Stage primaryStage) {    primaryStage.setTitle("Javafx 實現/"我的電腦/"資源管理器");    TreeItem<File> rootItem = new TreeItem<>(new File(System.getenv("COMPUTERNAME")));    for (File file : File.listRoots()) {      FileTreeItem rootsitem = new FileTreeItem(file);      rootItem.getChildren().add(rootsitem);    }    TreeView<File> tree = new TreeView<File>(rootItem);    HBox root = new HBox();    TableView<FileDetail> tableView = new TableView<>(data);    TableColumn<FileDetail, String> firstColumn = new TableColumn<>("文件");    firstColumn.setCellValueFactory(new PropertyValueFactory<FileDetail, String>("FileName"));    firstColumn.setPrefWidth(120);    TableColumn<FileDetail, String> secondColumn = new TableColumn<>("類型");    secondColumn.setCellValueFactory(new PropertyValueFactory<FileDetail, String>("type"));    secondColumn.setPrefWidth(120);    TableColumn<FileDetail, String> thirdColumn = new TableColumn<>("最后修改");    thirdColumn.setCellValueFactory(new PropertyValueFactory<FileDetail, String>("LastModified"));    thirdColumn.setPrefWidth(200);    tableView.getColumns().setAll(firstColumn, secondColumn, thirdColumn);    HBox.setHgrow(tree, Priority.ALWAYS);    HBox.setHgrow(tableView, Priority.ALWAYS);    root.getChildren().addAll(tree,tableView);    tree.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<TreeItem<File>>() {      @Override      public void changed(ObservableValue<? extends TreeItem<File>> observable, TreeItem<File> oldValue,          TreeItem<File> newValue) {        ObservableList<TreeItem<File>> treelist = newValue.getChildren();        ObservableList<FileDetail> tablelist = FXCollections.observableArrayList();        for (TreeItem<File> item : treelist) {          FileDetail filedetail = new FileDetail(item.getValue());          tablelist.add(filedetail);        }        data.setAll(tablelist);      }    });    primaryStage.setScene(new Scene(root));    primaryStage.setHeight(600);    primaryStage.show();  }}

2. java代碼:

package ttt;import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;public class FileDetail {  private String FileName;  private String LastModified;  private boolean isFile;  private boolean isFolder;  private boolean exists;  private String type;  private long length;  private SimpleDateFormat fmt;  public FileDetail(File file) {    isFile = file.isFile();    isFolder = file.isDirectory();    exists = file.exists();    if (exists) {      this.FileName = file.getName();      fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm");      Date date = new Date(file.lastModified());      this.LastModified = fmt.format(date);      this.length = file.length();      if (isFolder) {        this.type = "Folder";      } else        this.type = String.valueOf(this.length / (long) 1024) + "KB";    }  }  public String getFileName() {    return FileName;  }  public void setFileName(String fileName) {    FileName = fileName;  }  public String getLastModified() {    return LastModified;  }  public void setLastModified(String lastModified) {    LastModified = lastModified;  }  public String getType() {    return type;  }  public void setType(String type) {    this.type = type;  }  public long getLength() {    return length;  }  public void setLength(long length) {    this.length = length;  }}

3. java代碼:

package ttt;import java.io.File;import javafx.collections.FXCollections;import javafx.collections.ObservableList;import javafx.scene.control.TreeItem;public class FileTreeItem extends TreeItem<File> {   private boolean isLeaf;   private boolean isFirstTimeChildren = true;   private boolean isFirstTimeLeaf = true;  public FileTreeItem(File file) {    super(file);  }  @Override  public ObservableList<TreeItem<File>> getChildren() {     if (isFirstTimeChildren) {      isFirstTimeChildren = false;       super.getChildren().setAll(buildChildren(this));    }       return super.getChildren();   }  @Override  public boolean isLeaf() {    if (isFirstTimeLeaf) {      isFirstTimeLeaf = false;      File f = (File) getValue();      isLeaf = f.isFile();    }    return isLeaf;  }private ObservableList<TreeItem<File>> buildChildren(TreeItem<File> TreeItem) {  File f = TreeItem.getValue();  if (f != null && f.isDirectory()) {    File[] files = f.listFiles();    if (files != null) {      ObservableList<TreeItem<File>> children = FXCollections.observableArrayList();      for (File childFile : files) {        children.add(new FileTreeItem (childFile));      }      return children;    }  }  return FXCollections.emptyObservableList();}}

4. 運行效果截圖:

希望本文所述對大家的java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91日韩在线播放| 色yeye香蕉凹凸一区二区av| 成人激情在线观看| 久热精品视频在线| 欧美尤物巨大精品爽| 韩国福利视频一区| 亚洲欧美精品中文字幕在线| 日韩美女免费线视频| 欧美色另类天堂2015| 欧美激情精品在线| www国产精品com| 成人免费观看网址| 国产精品久久久久久av福利软件| 亚洲亚裔videos黑人hd| 日本伊人精品一区二区三区介绍| 亚洲精品久久久久久久久久久| 亚洲欧美在线x视频| 2019国产精品自在线拍国产不卡| 久久韩剧网电视剧| 欧美性猛交99久久久久99按摩| 欧美日韩在线视频观看| 久久久久久999| 国产欧美日韩精品在线观看| 日韩av综合中文字幕| 日韩高清av一区二区三区| 日韩欧美在线中文字幕| 久久综合电影一区| 久久影视电视剧免费网站清宫辞电视| 国产精品三级久久久久久电影| 精品视频在线播放| 久久久精品国产| 国产精品久久久久不卡| 日韩精品在线观看网站| 中文综合在线观看| 日韩av大片免费看| 日本亚洲欧美三级| 黑丝美女久久久| 欧美—级高清免费播放| 日韩成人在线视频| 97人人做人人爱| 亚洲美女av黄| 国产精品视频99| 国产精品第三页| 久久久999精品免费| 日韩高清电影好看的电视剧电影| 欧美成人免费大片| 欧美成人sm免费视频| 日本韩国在线不卡| 91久久久久久久久久久久久| 中文字幕久热精品视频在线| 国产精品久久久久久久久影视| 精品国产依人香蕉在线精品| 久久精品99国产精品酒店日本| 欧美亚洲成人网| 欧美精品国产精品日韩精品| 九九热精品视频| 欧美性视频网站| 中国日韩欧美久久久久久久久| 国内成人精品一区| 欧美精品少妇videofree| 美日韩精品免费观看视频| 国产精品视频999| 日本人成精品视频在线| 欧美精品国产精品日韩精品| 自拍偷拍亚洲在线| 久久在精品线影院精品国产| 亚洲开心激情网| 色噜噜国产精品视频一区二区| 国产日韩精品综合网站| 色偷偷偷综合中文字幕;dd| 国产精品高潮呻吟久久av无限| 亚洲色图美腿丝袜| 久久精品国产欧美激情| 国产精品美女呻吟| 大量国产精品视频| 日韩免费观看高清| 欧美日韩性视频在线| 日本中文字幕久久看| 亚洲国产精品女人久久久| 51久久精品夜色国产麻豆| 亚洲一区二区三区sesese| 亚洲第一中文字幕在线观看| 亚洲的天堂在线中文字幕| 欧美色视频日本高清在线观看| 欧美激情一区二区久久久| 日韩欧美成人免费视频| 欧美视频不卡中文| 欧美精品日韩三级| 亚洲三级免费看| 精品色蜜蜜精品视频在线观看| 久久久久久久一区二区三区| 成人精品aaaa网站| 久久综合久中文字幕青草| 国产精品免费一区豆花| 成人免费看吃奶视频网站| 91成人在线播放| 萌白酱国产一区二区| 97精品国产97久久久久久春色| 久久亚洲精品视频| 亚洲激情视频网站| 91视频国产精品| 91久久久久久国产精品| 日韩精品中文字幕在线观看| 欧美色图在线视频| 久久视频在线观看免费| 日韩中文字幕视频在线| 久久久久久久久久久人体| 久久久精品影院| 国内精品久久久久久久| 97视频在线观看视频免费视频| 国模精品视频一区二区| 久久精品国产一区二区三区| 久久久91精品国产| 亚洲女人天堂成人av在线| 色视频www在线播放国产成人| 欧洲亚洲在线视频| 亚洲精品小视频在线观看| 国产精品自产拍在线观看中文| 久久中文精品视频| 国产成人综合精品在线| 日韩乱码在线视频| 美女扒开尿口让男人操亚洲视频网站| 国产精品亚洲аv天堂网| 欧美日韩亚洲国产一区| 国产精品欧美激情| 欧美日韩国产色| 91丨九色丨国产在线| 日韩女优在线播放| 亚洲高清一二三区| 91亚洲精品在线| 插插插亚洲综合网| 国产精品女主播视频| 国产精品99久久久久久久久久久久| 国产91在线播放九色快色| 在线国产精品播放| 在线精品高清中文字幕| 日韩av成人在线| 丰满岳妇乱一区二区三区| 亚洲成人在线视频播放| 久久精品国产亚洲一区二区| 91欧美精品成人综合在线观看| 国产精品一区久久| 久久久久一本一区二区青青蜜月| 色噜噜亚洲精品中文字幕| 久久久伊人日本| 亚洲一区二区免费在线| 亚洲人成电影网站色| 好吊成人免视频| 性欧美长视频免费观看不卡| 国产69精品久久久久9| 国产精品久久久久久久久久久新郎| 久久亚洲精品中文字幕冲田杏梨| 免费91麻豆精品国产自产在线观看| 国产欧美一区二区三区久久人妖| 日韩一级裸体免费视频| 色综久久综合桃花网| 亚洲人成在线免费观看| 欧美诱惑福利视频| 久久国产精品久久国产精品| 在线亚洲午夜片av大片| 视频在线观看99| 欧美成人第一页| 国产成人精品电影| 国产精品igao视频|