Java JList没有';t从我的组合框中显示新添加的元素
我创建了combobox,它从另一个类中的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
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@rdonuksuper.addElement(newitemlist())中的元素代码>这行是奇数。你对这个有什么期待?你为什么要在这里创建项目列表?这是一个巨大的帮助,谢谢你,但它仍然没有显示JlistCheck theDine
类中每个项目的价格和千卡。在toString
中,您可以决定每顿饭在JList
中显示哪些文本。例如,如果在toString
中返回Name+“”+Kcal
,Kcal将显示。