Jlist不在String中显示我的项目

时间:2016-03-30 13:29:52

标签: java eclipse swing runtime-error jlist

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);
        }
        }
    });

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

  

javax.swing.JList中[, - 2008,0,2255x182,alignmentX = 0.0,alignmentY = 0.0,边界=,旗帜= 50332008,MAXIMUMSIZE =,=的minimumSize,首选大小=,fixedCellHeight,则= -1,fixedCellWidth = -1 ,horizo​​ntalScrollIncrement = -1,selectionBackground已= javax.swing.plaf.ColorUIResource [R = 184,G = 207,b = 229],selectionForeground = sun.swing.PrintColorUIResource [R = 51,G = 51,b = 51], visibleRowCount的= 8,layoutOrientation = 0]

2 个答案:

答案 0 :(得分:2)

我认为应该在类addElement的实例上调用DefaultListModel方法。

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

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

如果您未设置实现ListModel的任何类实例,则应以这种方式初始化orderList

DefaultListModel listModel = new DefaultListModel();
orderList = new JList(listModel);
// or
orderList.setModel(listModel);

看看How to Use Lists from Java Tutorials

答案 1 :(得分:0)

您在列表中看到的不是错误,而是toString()对象的chosenList值。也许你的意思是改为:

orderList.addElement(selectedValue);

而不是:

orderList.addElement(chosenList);