繁体   English   中英

如何使用JList中的文件填充JTextArea

[英]How to populate JTextArea with file from JList

我创建一个应用程序,从所选目录中获取.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) {}

有人看到我哪里出错吗?

如果要将文件读入JTextArea,则需要使用传入BufferedFileReader而不是write(...)方法的read(...)方法。 这应该对你有意义,因为你的目标是阅读,而不是写。

textarea.write( bw );

这会编译吗? write方法似乎意味着将textarea的内容写入文件而不是相反。

如果出现问题,请确保不要捕获异常并忽略它。 异常跟踪可以非常有助于理解出错的地方。

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

你可以从这开始:

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());
}

只要向JList添加内容 - 可视组件 - 它就不再是对象列表。 你只需要一个索引为0到n的数组,你可以选择它,但没有任何东西真的在它们中。 您可以做的是创建一个Files(新File [])数组并将所有文件存储在那里,以便您可以随时访问它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM