<AI>
JavaFXで指定ホルダー以下のファイルを表示するには、
java.io.File.listFiles() や java.nio.file.Files APIでファイルを取得し、
ListView または TreeView コントロールに渡すのが一般的です。
以下に具体的な実装例を示します。
ListViewにファイル一覧を表示する例
選択したフォルダ(ディレクトリ)以下のファイル名(または絶対パス)を取得し、
ListView のアイテムとして追加する最もシンプルな実装です。
java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.scene.layout.VBox;
import javafx.stage.DirectoryChooser;
import javafx.stage.Stage;
import java.io.File;
// DirectoryChooserでフォルダを選択し、その中のファイル名をListViewに表示する例
public class FileViewerApp extends Application {
@Override
public void start(Stage primaryStage) {
ListView listView = new ListView<>();
DirectoryChooser dirChooser = new DirectoryChooser();
File selectedDir = dirChooser.showDialog(primaryStage);
if (selectedDir != null && selectedDir.isDirectory()) {
File[] files = selectedDir.listFiles();
if (files != null) {
for (File file : files) {
if (file.isFile()) listView.getItems().add(file.getName());
}
}
}
primaryStage.setScene(new Scene(new VBox(listView), 400, 300));
primaryStage.show();
}
public static void main(String[] args) { launch(args); }
}
ポイント・便利な拡張機能
1. サブフォルダのファイルも再帰的に取得java.nio.file.Files.walk() を使用して階層下のファイルを全て取得できます。
2. 階層構造(ツリー)で表示TreeView と TreeItem を使用し、親フォルダと子ファイルの構造を表現します。
3. 詳細表示TableView