2016-03-26 43 views
2

我創建了組合框,它從另一個類中獲取DefaultListModel的元素。但是,當我單擊我的組合框中的項目時,它不會將項目元素添加到我的JlistJList不顯示來自我的組合框的新增元素

+1

1)不要使用mouseClicked。如果鼠標移動mousePressed和mouseReleased事件之間的像素,則不會生成點擊。使用mousePressed或mouseReleased。 2)如果這沒有幫助,則發佈一個證明問題的正確的[SSCCE](http://sscce.org/)。我們無法根據您的幾行隨機代碼來判斷髮生了什麼。還要在代碼中添加一些調試語句,以確切查看正在執行的代碼。你的「如果條件」是真的嗎? – camickr

回答

2

您正在添加您的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