2012-12-04 61 views
1

我試圖在組合框中的選定項目發生更改時執行操作。當沒有通知動作監聽者時,一種特殊的情況是在複合框上重置模型。我可以訂閱另一個PropertyChangedListener,並在模型更改時收聽,然後提取選定的項目,但我不明白爲什麼選擇的項目更改事件不會在模型更改時加註。在視覺上,您的選擇會發生變化,即使您查詢所選項目的複合框,它也會從null更改爲某個對象......對此,您可以清楚地瞭解它,而不是使用兩個單獨的聽衆?Jcombobox - 訂閱selectedItemChanged事件

+0

你是否嘗試過使用item listener而不是action listener? –

+0

是的,同樣的東西 – Bober02

回答

2

如果行動和項目的聽衆不火的事件當模型被重置,你可以自己通過繼承的JComboBox火那些事件:

public class MyComboBox extends JComboBox 
{ 
    @Override 
    public void setModel(ComboBoxModel aModel) { 
     super.setModel(aModel); 
     fireActionEvent(); 
    } 
} 

但恕我直言這是一個錯誤 - 你應該報告給官方bugzilla。

+0

這會做,但我想我會堅持傳統propertyChangedListenr – Bober02