2017-06-01 30 views
0

我試圖找到一種方法來設置默認值組合框。如果組合框中的值發生更改,但不設置默認值,則必須運行方法。Vaadin Combobox setValue方法是否觸發ValueChangeEvent?

+2

是的,它的確如此。從措辭來看,你似乎已經嘗試了一些東西。你爲什麼不向我們展示你的代碼並解釋它的問題? –

+1

@defaultlocale感謝您的評論。我解決了它。在設置默認值後,我設置了事件處理程序。它爲我工作。 –

+0

那麼,你可以發佈自己的答案,所以別人可以看到它並使用它? – Shirkam

回答

0

您可以在設置默認值後設置事件處理程序。

ComboBox b = new ComboBox(); 

    b.addItem(1); 

    b.select(1); 

    b.addValueChangeListener(event -> someMethod()); 

您還可以刪除事件處理程序,然後設置該值,然後再次設置值更改偵聽器。

ComboBox b = new ComboBox(); 

b.addItem(1); 

ValueChangeListener vcl = new 
ValueChangeListener() 
{ 
    @Override 
    public void valueChange(ValueChangeEvent event) 
    { 
    System.out.println("value changed"); 
    } 
}; 
b.addValueChangeListener(vcl); 
b.removeValueChangeListener(vcl); 
b.select(1); 
b.addValueChangeListener(vcl); 
相關問題