1

選択したディレクトリから.javaファイルと.classファイルのリストを取得し、それらをJListに配置するアプリケーションを作成しています。Netbeans7.1.2を使用しています。

すべてのファイルが希望どおりにJListに表示されていますが、選択した.javaファイルをjTextAreaで開いて開くことができないようです。

JListからファイルを取得してJTextAreaに渡す必要がありますが、機能していません

     try
     {
         FileReader reader= new FileReader( jlist.getSelectedValue() );
         BufferedReader br = new BufferedReader( reader);
         textarea.read( br );
         br.close();
         textarea.requestFocus();               
     } 
     catch(Exception e2) {}

誰かが私がどこで間違っているのかわかりますか?

4

4 に答える 4

5

JTextAreaにファイルを読み込む場合はread(...)、メソッドではなくBufferedFileReaderを渡すメソッドを使用する必要があります。write(...)ここでのあなたの目標は書くことではなく読むことなので、これはあなたにとって理にかなっているはずです。

于 2012-05-17T15:09:37.487 に答える
0
textarea.write( bw );

これはコンパイルされますか?writeメソッドは、textareaのコンテンツをファイルに書き込むためのものであり、その逆ではないようです。

また、問題が発生した場合は、例外をキャッチしないようにして、無視してください。例外トレースは、何が問題になっているのかを理解するのに非常に役立ちます。

于 2012-05-17T14:59:41.193 に答える
0

問題が発生した場合は、例外を静かに飲み込むのではなく、例外を表示/ログに記録する必要があります。コードで有用な例外が関連付けられている問題が発生している可能性がありますが、例外について通知するコードを作成するまでわかりません。

あなたはこれから始めることができます:

try
{
     File file = (File)jlist.getSelectedValue();
     FileReader reader = new FileReader( file );
     textarea.read( br );
     br.close();
     textarea.requestFocus(); 
}
catch(Exception e)
{
    JOptionPane.showMessageDialog(null, e.toString());
}
于 2012-05-17T15:17:07.137 に答える
-1

JList(ビジュアルコンポーネント)に何かを追加するとすぐに、それ自体はオブジェクトのリストではなくなります。インデックスが0からnの配列があり、そこから選択できますが、実際には何も含まれていません。あなたができることは、ファイルの配列(new File [])を作成し、そこにすべてのファイルを保存して、いつでもそれらにアクセスできるようにすることです。

于 2012-05-17T14:52:56.390 に答える