別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

ファイル選択ダイアログは、javafx.stage.FileChooserを使用します。

次のような感じ。

FileChooser fileChooser = new FileChooser();
        
fileChooser.setTitle("ファイル選択");
// 拡張子フィルタを設定
fileChooser.getExtensionFilters().add(
	new FileChooser.ExtensionFilter("イメージファイル", "*.jpg", "*.png")
);
fileChooser.getExtensionFilters().add(
	new FileChooser.ExtensionFilter("すべてのファイル", "*.*")
);
// 初期ディレクトリをホームにする。
fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));

// ファイル選択
File file = fileChooser.showOpenDialog(mStage);
if(file != null) {
	System.out.println(file.getPath());
}

複数ファイル選択は、showOpenDialogの代わりにshowOpenMultipleDialogを呼びます。

List<File> files = fileChooser.showOpenMultipleDialog(mStage);
if(files != null) {
	for(File f : files) {
		System.out.println(f.getPath());
	}
}

ファイル保存は、初期ファイル名をsetInitialFileNameで設定してshowOpenDialogの代わりにshowSaveDialogを呼びます。

fileChooser.setInitialFileName("hoge.jpg");
File file = fileChooser.showSaveDialog(mStage);
if(file != null) {
	System.out.println(file.getPath());
}