前提・実現したいこと
現在、アコーディオンを作成しているのですが、テキストファイルの文を入力することが出来る仕組みの作り方が分かりません・・・
どなたか、サンプルやヒントをお持ちでしたら教えて頂きたいです。
発生している問題・エラーメッセージ
for(int i = 0;i < fls.length;i++) { te[i] = new File(getClass().getResourceAsStream(fls[i].getName())); tp[i] = new TitledPane(fls[i].getName(),te[i]); } のところをテキストファイルごとの文をテキストエリアを入れるようにしたい
該当のソースコード
javafx
1package kadai; 2 3import java.io.File; 4import java.io.FileReader; 5import java.io.FilenameFilter; 6 7import javafx.application.Application; 8import javafx.scene.Scene; 9import javafx.scene.control.Accordion; 10import javafx.scene.control.TitledPane; 11import javafx.scene.layout.BorderPane; 12import javafx.stage.Stage; 13 14public class seventeen extends Application{ 15private TitledPane[] tp; 16private Accordion ac; 17private FileReader te; 18 19public static void main(String[] args)throws Exception{ 20 launch(args); 21} 22public void start(Stage stage)throws Exception{ 23 24 File fl = new File("."); 25 File[] fls = fl.listFiles(new sampleFileFilter()); 26 27 File[]fc = new File[fls.length]; 28 29 tp = new TitledPane[fls.length]; 30 ac = new Accordion(); 31 32 for(int i = 0;i < fls.length;i++) { 33 34te[i] = new File(getClass().getResourceAsStream(fls[i].getName())); 35tp[i] = new TitledPane(fls[i].getName(),te[i]); 36 } 37 BorderPane bp = new BorderPane(); 38 39 ac.getPanes().addAll(tp); 40 bp.setCenter(ac); 41 42 Scene sc = new Scene(bp,300,300); 43 44 stage.setScene(sc); 45 46 stage.setTitle("サンプル"); 47 stage.show(); 48} 49class sampleFileFilter implements FilenameFilter{ 50 public boolean accept(File f,String n) 51 { 52 if(n.toLowerCase().endsWith(".txt")) { 53 return true; 54 } 55 return false; 56 } 57} 58} 59
試したこと
フォルダを選択するまでは、進めることはできました。
補足情報(FW/ツールのバージョンなど)
jdk14
あなたの回答
tips
プレビュー