Java Jlist未以字符串形式显示我的项目

Java Jlist未以字符串形式显示我的项目,java,eclipse,swing,runtime-error,jlist,Java,Eclipse,Swing,Runtime Error,Jlist,我创建了一个addButton,它将元素从一个Jlist添加到另一个Jlist。但是,当我运行我的应用程序并单击add按钮时,它会在我的选择列表Jlist中显示此错误: javax.swing.JList[,-2008,02255x182,alignmentX=0.0,alignmentY=0.0,border=,flags=50332008,maximumSize=,minimumSize=,preferredSize=,fixedCellHeight=-1,fixedCellWidth=-1

我创建了一个addButton,它将元素从一个
Jlist
添加到另一个
Jlist
。但是,当我运行我的应用程序并单击add按钮时,它会在我的选择列表
Jlist
中显示此错误:

javax.swing.JList[,-2008,02255x182,alignmentX=0.0,alignmentY=0.0,border=,flags=50332008,maximumSize=,minimumSize=,preferredSize=,fixedCellHeight=-1,fixedCellWidth=-1,horizontalScrollIncrement=-1,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],SelectionForegrough=sun.swing.PrintColorUIResource[r=51,g=51,b=51],visibleRowCount=8,layoutOrientation=0]


列表中看到的不是错误,而是
chosenList
对象的
toString()
值。也许您的意思是要执行以下操作:

JButton btnAdd = new JButton("add");
    btnAdd.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            Main selectedValue = (Main)courseList.getSelectedValue();
            if(selectedValue !=null){
                orderList.addElement(chosenList);
        }
        }
    });
而不是:

orderList.addElement(selectedValue);

我认为应该对类
DefaultListModel
的实例调用
addElement
方法

如果以前添加了
DefaultListModel
实例作为
orderList
的模型,则应使用以下代码将元素添加到
orderList

orderList.addElement(chosenList);
如果尚未设置实现
ListModel
的类的任何实例,则应通过以下方式初始化
orderList

Object selectedValue = courseList.getSelectedValue();
DefaultListModle listModel = (DefaultListModle)orderList.getModel();
listModel.addElement(selectedValue);

查看。

它看起来像是将整个
JList
添加为单个元素。循环遍历其中的项目,并分别添加每个项目。可能您的意思是执行
orderList.add(selectedValue)?我将其更改为“orderList.add(selectedValue);”但这也是错误的,因为addElement是红色的,并且说“DefaultListModel类型中的addElement(JList)不适用于参数(Main)”,我已经做了更改,但这只是给了我另一个错误,即:DefaultListModel类型中的方法addElement(JList)不适用于参数(Main)
orderList.getModel()也是错误的,它说getModel()方法对于类型是未定义的DefaultListModel@mikeb现在我看到您的
orderList
DefaultListModel
类型,而不是
JList
。你需要发布更多的代码,让我们看看你的代码中发生了什么。如果
orderList
DefaultListModel
,那么您应该能够使用
orderList.addElement(selectedValue)
添加元素。两件事,正确命名变量,如将
orderList
更改为
orderListModel
,并向我展示
Main
是什么。
DefaultListModel listModel = new DefaultListModel();
orderList = new JList(listModel);
// or
orderList.setModel(listModel);