Java Can';t将txt文件作为JTextArea读取

Java Can';t将txt文件作为JTextArea读取,java,swing,Java,Swing,我试图编写一段代码,当用户单击按钮时,将txt文件的内容显示为JTextArea。下面是我写的代码,但是当我点击按钮时,它没有显示任何内容 if(e.getSource() == showAttendanceList_sbm){ JTextArea textArea = new JTextArea(10, 20); try (Reader myReader = new BufferedReader(new FileReader("mytextfile.txt"))) {

我试图编写一段代码,当用户单击按钮时,将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运行期间添加组件容易得多,但后者不是不可能的,只是更难。

是否确实输入了if块?你测试过这个吗?是否抛出任何异常?该文件是否位于Jar文件中?相对于用户的主目录,文件的路径是否正确?你确定--你测试过这个吗?你创建了你的JTextArea,
JTextArea textArea=newjtextarea(10,20),但不要显示您已将其放入GUI中。在这种情况下,此代码变得毫无意义,因为您没有使用GUI中显示的JTextArea。请出示有效证件并要求填写完整证件question@HovercraftFullOfEels是的,我已经测试过了,没有例外。在这之前,路径是正确的,我尝试了其他方法,它将txt文件内容打印到控制台。但是现在有了这段代码,当我点击按钮时,它不会显示任何内容。再说一遍,如果读取文本的JTextArea没有显示,为什么它会显示任何内容呢?我不知道你所说的“在外部实现它”是什么意思。简单的事实是,一个不显示的JTextArea对你没有多大帮助,但这仅仅是常识,不是吗?