JList不显示来自我的组合框的新增元素

问题描述:

我创建了组合框,它从另一个类中获取DefaultListModel的元素。但是,当我单击我的组合框中的项目时,它不会将项目元素添加到我的JlistJList不显示来自我的组合框的新增元素

+1

1)不要使用mouseClicked。如果鼠标移动mousePressed和mouseReleased事件之间的像素,则不会生成点击。使用mousePressed或mouseReleased。 2)如果这没有帮助,则发布一个证明问题的正确的[SSCCE](http://sscce.org/)。我们无法根据您的几行随机代码来判断发生了什么。还要在代码中添加一些调试语句,以确切查看正在执行的代码。你的“如果条件”是真的吗? – camickr

您正在添加您的MouseListenerJList。但期待从组合框中选择的项目触发actionPerformed

然而,当过我从我的组合框中单击一个项目它不 项元素添加到我的jList

其添加到MouseListenerJList代码:

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

因此,将鼠标监听器添加到您的组合框。其实ActionListenerItemListener可能会更好。

+0

我将我的'Jlist'中的代码复制到我的'combobox'中。我在我的帖子上更新了上面的代码。我还添加了一个'ActionListener'。但是,现在它将名称菜单添加到我的Jlist中,但是我的Jlist中的元素@rdonuk –

+0

'super.addElement(new itemList());'这行很奇怪。你对此有什么期待?你为什么在这里创建itemlist? – rdonuk

+0

如果你发布更多的代码,这将是有帮助的。 – rdonuk