JavaFX FileChooser文件选择器
JavaFX 文件选择器使用户能够浏览文件系统中的文件。javafx.stage.FileChooser类代表 文件选择器。它可以通过实例化 FileChooser 类来创建。它包含两个主要方法。
正如我们在现代应用程序中看到的那样,向用户显示两种类型的对话框,一种用于打开文件,另一种用于保存文件。在每种情况下,用户都需要浏览文件的位置并为文件命名。
FileChooser 类提供两种类型的方法,
- showOpenDialog()
- showSaveDialog()
以下代码实现了showSaveDialog()方法。
FileChooser 案例1
package com.yiidian;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.HBox;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
public class FileChooserExample extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
FileChooser file = new FileChooser();
file.setTitle("请选择文件");
file.showOpenDialog(primaryStage);
HBox root = new HBox();
root.setSpacing(20);
Scene scene = new Scene(root,350,100);
primaryStage.setScene(scene);
primaryStage.setTitle("一点教程网:FileChooser Example");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
上面的代码向用户显示了以下对话框,其中提示用户浏览需要打开的文件的位置。
FileChooser 案例2
以下代码向用户显示了一个 Label、TextField 和一个 Button。单击浏览按钮将打开一个打开文件对话框。
package com.yiidian;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
public class FileChooserExample extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Label label = new Label("请选择文件:");
TextField tf= new TextField();
Button btn = new Button("浏览");
btn.setOnAction(e->
{
FileChooser file = new FileChooser();
file.setTitle("Open File");
file.showOpenDialog(primaryStage);
});
HBox root = new HBox();
root.setSpacing(20);
root.getChildren().addAll(label,tf,btn);
Scene scene = new Scene(root,350,100);
primaryStage.setScene(scene);
primaryStage.setTitle("一点教程网:FileChooser Example");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
输出结果为:
FileChooser 保存文件的案例
以下代码显示了保存文件的对话框。
package com.yiidian;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import java.io.File;
public class MainClass extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Button btn = new Button("保存");
btn.setOnAction(e->
{
FileChooser file = new FileChooser();
file.setTitle("保存图片");
File file1 = file.showSaveDialog(primaryStage);
System.out.println(file1);
});
StackPane root = new StackPane();
Scene scene = new Scene(root,200,300);
primaryStage.setScene(scene);
root.getChildren().add(btn);
primaryStage.show();
}
}
输出结果为:
热门文章
优秀文章