Java Can';t从TXT文件填充JList

Java Can';t从TXT文件填充JList,java,swing,file,jlist,Java,Swing,File,Jlist,下面是我的工作代码,它读取TXT文件并在控制台中显示: import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileNotFoundException; import java.io.IOException; import javax.swing.DefaultListModel; import javax.swing.JList; public class

下面是我的工作代码,它读取TXT文件并在控制台中显示:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.DefaultListModel;
import javax.swing.JList;

public class LeerArchivoDeTexto {
    public static void main(String[] args) {
        File archivo = new File("Archivo.txt");
        BufferedReader lector = null;
        DefaultListModel lista = new DefaultListModel();
        JList jList1 = new JList();

        try {
            lector = new BufferedReader(new FileReader(archivo));
            String texto = null;

            while ((texto = lector.readLine()) != null) {
                lista.addElement(texto);
                System.out.println(texto);
            }
            jList1.setModel(lista);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (lector != null) {
                    lector.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}

问题是,我想将TXT文件中的数据加载到
JList
。包含
JList
的注释行不起作用。有什么想法吗?

如果您通过

JList JList1 = new JList();

您可以取消注释所有行,它将正常工作。当然,您必须将此列表添加到swing容器中。

您永远不会创建一个新的
JList
实例,该实例被分配到
JList1
,但是您试图对该变量调用一个方法,很可能会得到一个
NullPointerException


不要将null分配给
JList1
,而是分配一个新实例。

由于您显式地将
JList
设置为null,因此不会实例化它:

JList JList1 = null; // not initialized
因此,当尝试将模型设置为它时,我假设您在这一行上得到一个
NullPointerException

JList1.setModel(lista); // NPE here
您需要实例化
JList
,并将模型设置为如下所示:

JList jList1 = new JList();
jList1.setModel(lista);

确保您始终定义“不工作”的含义,并包括您收到的任何异常或错误消息。谢谢jzd,我下次会这么做。:)我一直在
jList1.setModel(lista)上得到一个NullPointerException
您现在添加了行
jList1=null一定没有。谢谢霍华德,我要试试!您知道如何将列表添加到Swing容器中吗?我一直在
jList1.setModel(lista)上得到一个NullPointerException
@Sam您可以找到教程,尤其是JList的教程。@Sam您添加了行
jList1=null不应该在那里。太好了!现在开始工作了!我会查看你的链接。非常感谢。谢谢你。是的,我得到了一个NullPointerException。