簡體   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