无法将 txt 文件读取为 JTextArea



我正在尝试编写一段代码,当用户单击按钮时,将txt文件的内容显示为JTextArea。我写的代码在下面,但是当我单击按钮时,它没有显示任何内容。

if(e.getSource() == showAttendanceList_sbm){
JTextArea textArea = new JTextArea(10, 20);
try (Reader myReader = new BufferedReader(new FileReader("mytextfile.txt"))) {
textArea.read(myReader, "File");
} catch (IOException exp) {
exp.printStackTrace();
}
}

您的代码将不起作用,因为您似乎正在将文本读入一个不显示的组件中,这是一个无处可见的 JTextArea。

如果您希望此代码正常工作,JTextArea 应该从一开始就已经在 GUI 中,并且您应该使用此显示的 JTextArea 进行阅读。如果您希望在读取文件后将 JTextArea 添加到 GUI 中,那么您需要编写代码来为您执行此操作,最好使用为您交换视图的 CardLayout 来完成。

请注意,通常最好将文本作为资源而不是文件获取,尤其是当您计划将文本打包到 jar 文件中时。更改 GUI 中已存在的组件的状态也比在 GUI 运行期间添加组件容易得多,但后者并非不可能,只是更困难。

最新更新