参考: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:\PrtSc\20190321\33.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:\PrtSc\20190321