1

10 行の情報を含むテキスト ファイルがあります。その情報をコピーして JTextArea に貼り付ける方法は?

public void createPage4()
    {
    panel4 = new JPanel();
    panel4.setLayout( new BorderLayout() );

    BufferedReader log=null;

        try {


        FileReader logg =new FileReader("logsheet.txt");
            log = new BufferedReader(logg); 

        textArea = new JTextArea("how do I get all the content of logsheet, I can get it on the command window as shown below");




        for (int x = 0 ; x<10; x++){

            System.out.println(log.readLine());

             }


             panel4.add(textArea);
4

3 に答える 3

1

Append()を使用して、読み取った各行をコンポーネントの最後にコピーする必要がありますJTextArea

追加

public void append(String str) 指定されたテキストをドキュメントの末尾に追加します。モデルが null の場合、または文字列が null または空の場合は何もしません。ほとんどの Swing メソッドはそうではありませんが、このメソッドはスレッドセーフです。詳細については、スレッドの使用方法を参照してください。

パラメータ: str - 挿入するテキスト 関連項目: insert(java.lang.String, int)

for ループは次のようになります。

for (int x = 0 ; x<10; x++){
    textArea.append(log.readLine() + "\n");
}
于 2011-01-28T01:09:28.177 に答える
1
textArea.read(new BufferedReader(new FileReader("logsheet.txt"), null));
于 2011-01-28T01:36:44.467 に答える
0

次のようなものがうまくいくはずです:

BufferedReader reader = new BufferedReader(new FileReader("logsheet.txt"));
String line;
while((line = reader.readLine()) != null) {
    textArea.append(line).append("\n");
}
reader.close();

ここでは、ファイルの内容全体を読み取り (したがって、行数は関係ありません)、その内容を文字列ビルダーに追加し、テキスト領域を文字列ビルダーの内容に設定します。(読み終わったら、リーダーを閉じることを忘れないことも重要です。)

上記はテキスト領域に追加されるだけです。最初にクリアしたい場合はtextArea.setText("");、while ループの前に追加します。

最初の 10 行だけが読み取られるようにしたい場合は、カウンターを追加し、while ループの反復ごとにインクリメントしてから、10 行以上の場合は終了します (必要な場合は実装演習として残します! )

于 2011-01-28T01:09:37.613 に答える