JList不显示来自我的组合框的新增元素
问题描述:
我创建了组合框,它从另一个类中获取DefaultListModel
的元素。但是,当我单击我的组合框中的项目时,它不会将项目元素添加到我的Jlist
。JList不显示来自我的组合框的新增元素
答
您正在添加您的MouseListener
至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)不要使用mouseClicked。如果鼠标移动mousePressed和mouseReleased事件之间的像素,则不会生成点击。使用mousePressed或mouseReleased。 2)如果这没有帮助,则发布一个证明问题的正确的[SSCCE](http://sscce.org/)。我们无法根据您的几行随机代码来判断发生了什么。还要在代码中添加一些调试语句,以确切查看正在执行的代码。你的“如果条件”是真的吗? – camickr