1

我正在创建一个应用程序,该应用程序从选定的目录中获取 .java 和 .class 文件的列表并将它们放在 JList 中。我正在使用 Netbeans 7.1.2。

我已经像我想要的那样在 JList 中显示了所有文件,我似乎无法做的是在 jTextArea 中打开选定的 .java 文件。

我需要从 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

如果您遇到问题,您应该显示/记录您的异常,而不是安静地吞下它们。您的代码可能会遇到一个与它相关联的有用异常的问题,但在您编写告诉您异常的代码之前您不会知道。

你可以从这个开始:

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 回答
0
textarea.write( bw );

这能编译吗?write 方法似乎用于将 textarea 的内容写入文件,而不是相反。

此外,如果出现问题,请确保不要捕获异常并忽略它。异常跟踪对于了解问题所在非常有帮助。

于 2012-05-17T14:59:41.193 回答
-1

一旦您将某些内容添加到 JList - 一个可视组件 - 它就不再是对象列表,因此。您只有一个索引为 0 到 n 的数组,您可以从中选择,但其中没有任何内容。您可以做的是创建一个文件数组(新文件 [])并将所有文件存储在其中,以便您可以随时访问它们。

于 2012-05-17T14:52:56.390 回答