Java JList没有';t从我的组合框中显示新添加的元素

Java JList没有';t从我的组合框中显示新添加的元素,java,swing,list,combobox,jlist,Java,Swing,List,Combobox,Jlist,我创建了combobox,它从另一个类中的DefaultListModel获取元素。但是,当我从组合框中单击某个项目时,它不会将项目元素添加到我的Jlist 您正在将您的鼠标侦听器添加到JList。但是,当从组合框中选择的项目触发时,actionPerformed应为 但是,当我从组合框中单击某个项目时,它不会添加 我的Jlist中的项目元素 将MouseListener添加到JList的代码: courseList = new JList(list); courseList.addMou

我创建了combobox,它从另一个类中的
DefaultListModel
获取元素。但是,当我从组合框中单击某个项目时,它不会将项目元素添加到我的
Jlist

您正在将您的
鼠标侦听器添加到
JList
。但是,当从组合框中选择的项目触发时,
actionPerformed
应为

但是,当我从组合框中单击某个项目时,它不会添加 我的Jlist中的项目元素

MouseListener
添加到
JList
的代码:

courseList = new JList(list);   
courseList.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent arg0) {
        String selectedValue = (String) mealsCombo.getSelectedItem();
        if(selectedValue.equals("Main")){
            list.addElement("Main");
        }
    }
});

因此,将鼠标侦听器添加到组合框中。实际上,
ActionListener
ItemListener
可能更好。

1)不要使用鼠标点击。如果鼠标在mousePressed和mouseReleased事件之间移动一个像素,则不会生成单击。使用鼠标垫或鼠标垫。2) 如果这没有帮助,那么发布一个适当的说明问题的帖子。我们无法根据您的几行随机代码判断发生了什么。还要向代码中添加一些调试语句,以准确查看正在执行的代码。您的“如果条件”是否为真?我将代码从我的
Jlist
复制到我的
组合框中。我在我的帖子上更新了上面的代码。我还添加了一个
ActionListener
。但是,现在它将名称菜单添加到我的Jlist中,但添加到我的Jlist@rdonuk
super.addElement(newitemlist())中的元素这行是奇数。你对这个有什么期待?你为什么要在这里创建项目列表?这是一个巨大的帮助,谢谢你,但它仍然没有显示JlistCheck the
Dine
类中每个项目的价格和千卡。在
toString
中,您可以决定每顿饭在
JList
中显示哪些文本。例如,如果在
toString
中返回
Name+“”+Kcal
,Kcal将显示。