前提・実現したいこと
実現したいこと
・フォルダの名前を呼び出して、名前をString型に設定して、スライドショーに必要な写真を読み込みたい
現在の問題点として
・DirecrtoryChosserで読み込んだファイルの名前をString型に変換の方法が分からない
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
javafx
1 public void handle(ActionEvent e) { 2 3 List<String> exts = Arrays.asList(".bmp", ".gif", ".jpg", ".jpeg", ".png"); // 画像拡張子 4 5 DirectoryChooser dc = new DirectoryChooser(); 6 String str = dc; 7 8 File dir = new File(str); // 該当フォルダ 9 File[] files = dir.listFiles(); // 該当フォルダのファイルを列挙 10 11 List<File> images = new ArrayList<>(); // 画像ファイル 12 for (File file : files) { 13 String fileName = file.getName(); // ファイル名 14 String ext = fileName.substring(fileName.lastIndexOf(".")); // ファイル拡張子(.込み) 15 if (exts.contains(ext)) images.add(file); 16 } 17 18 Pagination pagination = new Pagination(images.size()); 19 pagination.setPageFactory(pageIndex -> new ImageView(new Image(images.get(pageIndex).toURI().toString()))); 20 21 Timeline fiveSecondsWonder = new Timeline(new KeyFrame(Duration.seconds(5), event -> { 22 int pos = (pagination.getCurrentPageIndex() + 1) % pagination.getPageCount(); 23 pagination.setCurrentPageIndex(pos); 24 })); 25 fiveSecondsWonder.setCycleCount(Timeline.INDEFINITE); 26 fiveSecondsWonder.play(); 27 28 Stage stage5 = new Stage(); 29 stage5.setScene(new Scene(new VBox(pagination), 200, 100)); 30 stage5.show(); 31 }
試したこと
一度、Directorychooser dc = new DirectoryChooser();として入力し、String型にしました。
補足情報(FW/ツールのバージョンなど)
jdk14
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/06 11:24
2021/01/06 11:26
2021/01/06 11:38
2021/01/06 11:41
2021/01/06 11:45
2021/01/06 13:10
2021/01/06 13:28
2021/01/06 13:33
2021/01/06 13:59