[英]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.