zoukankan      html  css  js  c++  java
  • JavaFX FileChooser文件选择器、DirectoryChooser目录选择器

    参考:https://www.yiibai.com/javafx/javafx_filechooser.html

    参考:https://blog.csdn.net/dorma_bin/article/details/78856952

    创建一个窗口,在窗口中放置两个按键:“Choose File”与“Choose Folder”。

    当“Choose File”按键发生鼠标点击事件,打开文件选择器。如果用户选择了某一个文件,并点击“打开”,在控制台输出该文件的绝对路径。

    当“Choose Folder”按键发生鼠标点击事件,打开目录选择器。如果用户选择了某一个文件,并点击“选择文件夹”,在控制台输出该文件的绝对路径。

     1 import java.io.File;
     2 
     3 import javafx.application.Application;
     4 import javafx.event.ActionEvent;
     5 import javafx.event.EventHandler;
     6 import javafx.geometry.Insets;
     7 import javafx.geometry.Pos;
     8 import javafx.scene.Scene;
     9 import javafx.scene.control.Button;
    10 import javafx.scene.layout.GridPane;
    11 import javafx.stage.DirectoryChooser;
    12 import javafx.stage.FileChooser;
    13 import javafx.stage.FileChooser.ExtensionFilter;
    14 import javafx.stage.Stage;
    15 
    16 public class Main extends Application {
    17 
    18     public static void main(String[] args) {
    19         launch(args);
    20     }
    21     
    22     @Override
    23     public void start(Stage primaryStage) throws Exception {
    24         // Create a pane to hold a button
    25         GridPane pane = new GridPane();
    26         pane.setStyle("-fx-border-color: green;");
    27         pane.setAlignment(Pos.CENTER);
    28         pane.setPadding(new Insets(10, 10, 10, 10));
    29         pane.setHgap(10);
    30         pane.setVgap(10);
    31         
    32         // Create a button to choose a file
    33         Button btChooseFile = new Button("Choose File");
    34         pane.add(btChooseFile, 0, 0);
    35         
    36         // Create a button to choose a directory
    37         Button btChooseDirectory = new Button("Choose Folder");
    38         pane.add(btChooseDirectory, 1, 0);
    39                 
    40         // Set the primary stage properties
    41         primaryStage.setScene(new Scene(pane, 400, 200));
    42         primaryStage.setTitle("Starting...");
    43         primaryStage.setResizable(false);
    44         primaryStage.show();
    45         
    46         // 
    47         btChooseFile.setOnAction(new EventHandler<ActionEvent>() {
    48             @Override
    49             public void handle(ActionEvent event) {
    50                 FileChooser fileChooser = new FileChooser();
    51                 fileChooser.setTitle("Choose File");
    52 //                fileChooser.getExtensionFilters().add(new ExtensionFilter("Text Files", "*.txt"));
    53 //                fileChooser.getExtensionFilters().add(new ExtensionFilter("All Files", "*.*"));
    54                 fileChooser.getExtensionFilters().addAll(new ExtensionFilter("Text Files", "*.txt"), new ExtensionFilter("All Files", "*.*"));
    55                 File file = fileChooser.showOpenDialog(primaryStage);
    56                 if (file != null) {
    57                     System.out.println(file.getAbsolutePath());
    58                 }
    59             }
    60         });
    61         
    62         btChooseDirectory.setOnAction(new EventHandler<ActionEvent>() {
    63             @Override
    64             public void handle(ActionEvent event) {
    65                 DirectoryChooser directoryChooser = new DirectoryChooser();
    66                 directoryChooser.setTitle("Choose Folder");
    67                 File directory = directoryChooser.showDialog(new Stage());
    68                 if (directory != null) {
    69                     System.out.println(directory.getAbsolutePath());
    70                 }
    71             }
    72         });
    73     }
    74 }

    运行程序的UI:

    点击按键“Choose File”,控制台的输出(有异常?),以及UI:

    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.

    选择某一个文件,并点击按键“打开”,控制台输出:

    J:PrtSc2019032133.png

    点击按键“Choose Folder”,控制台的输出(有异常?),以及UI:

    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.
    Qt: Untested Windows version 10.0 detected!
    log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace).
    log4cplus:ERROR Please initialize the log4cplus system properly.

    选择某一个文件夹,并点击按键“选择文件夹”,控制台输出:

    J:PrtSc20190321
  • 相关阅读:
    DBCP数据库连接池
    Java Ant build.xml详解
    AWK 用法
    java打jar包
    linux 下java jar包的方法
    linux下java命令行引用jar包
    java webservice
    设计模式的几大原则
    ContextLoaderListener
    WebApplicationContextUtils源码
  • 原文地址:https://www.cnblogs.com/Satu/p/10820144.html
Copyright © 2011-2022 走看看