当前位置: 首页 > 知识库问答 >
问题:

从文本文件“读取”按钮填充jlist

钦良弼
2023-03-14

代码:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

JFileChooser fileChooser = new JFileChooser();
//fileChooser.setCurrentDirectory(new     File(System.getProperty("user.home")));
int result = fileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) 

{
File selectedFile = fileChooser.getSelectedFile();
System.out.println("Selected file: " + selectedFile.getAbsolutePath());
DefaultListModel lista = new DefaultListModel();
JList jList1 = new JList();

try {
        FileReader archivo = new     FileReader(selectedFile.getAbsolutePath());
        BufferedReader lector = new BufferedReader(archivo);
        String texto = null;
        while ((texto = lector.readLine()) != null) {
            lista.addElement(texto);
            //System.out.println("Lista:"+lista);
            //System.out.println(texto);
        }

        jList1.setModel(lista);
        System.out.println("jList1:"+jList1);

    } 

catch (FileNotFoundException e) {
        e.printStackTrace();
    } 

catch (IOException e) {
        e.printStackTrace();
    } 

}    

}                                        

我正在尝试从通过Read_file按钮读取的文本文件填充jlist

我能够正确获取文件路径和文件内容,我用print语句验证了这些文件,但我的jlist仍然是空的。在设计中,我检查了jlist的变量名,两者都与我在代码中使用的匹配。

共有1个答案

施刚毅
2023-03-14

从我所看到的情况来看,每次点击按钮时,您都会创建一个新的jlist。您确实正确地填充了defaultlistmodel,但是您分配给了一些jList,而不是UI上的jList。

只需清除线:

JList jList1 = new JList(); 

然后在setmodel之后repaintrevalidate它的容器

 类似资料:
  • 我正在尝试用名字填充JList,这些名字最终将添加到AddressBook GUI中。我想我的逻辑是,创建JList,通过一个从文本文件中读取名称的方法填充它,然后将JList添加到我的面板中。 我的文本文件如下所示: 但它只是打印出1-10个,而不是名字。我假设这是因为我使用了而不是其他东西,有什么建议吗?

  • 问题内容: 如何从文本文件填充? 问题答案: 非常模糊的问题。您是说要每行输入一个吗?如果是这样,则要使用BufferedReader之类的东西,请读取所有行,并将它们保存为String数组。创建一个新的JComboBox传入该String构造函数。

  • 问题内容: 我想读取不同块的日志文件,以使其成为多线程。该应用程序将在具有多个硬盘的服务器端环境中运行。读取成块后,应用程序将处理每个块的每一行。 我已经用bufferedreader完成了对每个文件行的读取,并且可以通过将RandomAccessFile与MappedByteBuffer结合使用来制作文件块,但是将这两者结合起来并不容易。 问题在于该块正好切入我块的最后一行。我从来没有块的最后一

  • 编写了通过Spark读取文本文件的代码...在Local中运行良好...但在HDInsight中运行时产生错误->从Blob读取文本文件 org.apache.spark.sparkException:作业由于阶段失败而中止:阶段0.0中的任务0失败了4次,最近的失败:阶段0.0中丢失的任务0.3(TID 5,wn1-hchdin.bpqkkmavxs0ehkfnaruw4ed03d.dx.int

  • 我正在尝试排序的键(优先数,int数)从最高到最低的链表,与数据从文本文件。我正在埋头插入项目并对它们进行排序。这是我的文本文件。 我的工作66 垃圾17 资金25 重要96 生命99 Moreutn 28 工作69 转让44 这是我的链表类 } 下面是我的节点类: 下面是我的数据类: 从链表类运行时的当前输出: 我的insert方法总是在第一个if语句处停止,而从不继续运行。我不知道怎么修好它。

  • 我有这个文本文件: 我的观点是: 我希望将每一行与每列相匹配(first_row-first_column,SEND_ROW-SEND_COLUMN等)我哪里出错了?我的代码如下: