Java 我无法在jlist中显示arraylist

Java 我无法在jlist中显示arraylist,java,swing,arraylist,jframe,jlist,Java,Swing,Arraylist,Jframe,Jlist,因此,基本上我创建了一个列表,其中包含了从用户那里获得的大量信息,我需要显示在列表助手上创建的“Estudiante”。这是我第一次尝试的,但它告诉我setListData是用于数组的,所以我尝试了其他我发现包含using.toArray(数组)的东西,但这也不起作用。 为了澄清modelo是什么,我复制了第一个代码 public class VentanaEstudiante extends javax.swing.JFrame { private Sistema modelo;

因此,基本上我创建了一个列表,其中包含了从用户那里获得的大量信息,我需要显示在列表助手上创建的“Estudiante”。这是我第一次尝试的,但它告诉我setListData是用于数组的,所以我尝试了其他我发现包含using.toArray(数组)的东西,但这也不起作用。 为了澄清modelo是什么,我复制了第一个代码

public class VentanaEstudiante extends javax.swing.JFrame {
    private Sistema modelo;
    /**
     * Creates new form VentanaEstudiante
     */
    public VentanaEstudiante(Sistema unSistema) {
        modelo = unSistema;
        this.setSize(400, 280);
        initComponents();
    }
Estudiante有一个toString方法,超类也有

public String toString(){
        return super.toString() + "Numero:" + this.getNumero() + "Semestre: " + this.getSemestre();
    }
这里有我的列表,我只复制了listaEstudiantes方法,因为这就是我现在要问的。这个类Sistema没有任何toString方法,因为我认为这个arraylist不需要toString方法


public class Sistema {
    private ArrayList<Estudiante> listaEstudiantes;
    private ArrayList<Docente> listaDocentes;
    private ArrayList<Equipo> listaEquipos;

    public Sistema(){
        listaEstudiantes = new ArrayList<>();
        listaDocentes= new ArrayList<>();
        listaEquipos=new ArrayList<>();
    }

    public void agregarEstudiante(Estudiante unEstudiante){
        listaEstudiantes.add(unEstudiante);
    }

    public ArrayList<Estudiante> getListaEstudiantes(){
        return listaEstudiantes;
    }

公共类系统{
私人ArrayList listaEstudiantes;
私人ArrayList listaDocentes;
私人ArrayList listaEquipos;
公共系统(){
listaEstudiantes=新的ArrayList();
listaDocentes=新的ArrayList();
listaEquipos=newarraylist();
}
公共无效无合法性的学生(无合法性的学生){
添加(unEstudiante);
}
公共数组列表getListaEstudiantes(){
返回listaEstudiantes;
}
我需要使用ArrayList,以防您有更好的东西,我只需要使用它们 整个项目有很多显示列表,有时我甚至不得不让用户从中选择一些东西,我也不知道如何做,但我不知道我是否可以在这里问多个问题。列表也需要刷新,所有这些,但我想我可以处理。谢谢有两个变体,一个期望元素数组,另一个期望元素向量

在幕后,这两个方法创建
AbstractListModel
的匿名子类的实例,并将该实例传递给
JList.setModel()

您可以轻松地为任何
列表
实例实现类似的代码:

static <E> void setListData(JList<E> jList, List<? extends E> listData) {
    jList.setModel(new AbstractListModel<E>() {
        public int getSize() { return listData.size(); }
        public E getElementAt(int i) { return listData.get(i); }
    });
}

静态无效setListData(JList JList,ListA将非常有帮助,包括显示JList是如何声明的,例如,它是否是
JList
,以及您是否直接使用任何列表模型。但不管怎样,如果所有其他操作都失败,您可以使用for循环在ArrayList中循环,将项目添加到JList的模型中。ListaEstudiantesJ是JList的名称,并且出现在我发布的代码上的e是我唯一写过的次数。“我唯一写过的次数”这是不是应该作为不发布MRE的理由,这样更容易帮助?什么更容易(对我来说)就是忽略那些不能或不愿发布MRE的人。还有很多人可以,他们和你一样需要帮助。
static <E> void setListData(JList<E> jList, List<? extends E> listData) {
    jList.setModel(new AbstractListModel<E>() {
        public int getSize() { return listData.size(); }
        public E getElementAt(int i) { return listData.get(i); }
    });
}