0
我需要將Enter
鍵快捷鍵偵聽器添加到ComboBox
。我只需要關注ComboBox
時的快捷方式。我用this答案中描述的方法。Vaadin ComboBox模糊事件在輸入時被觸發按下
combo.addFocusListener(new FocusListener() {
@Override
public void focus(FocusEvent event) {
combo.addShortcutListener(shortcutListener);
}
});
combo.addBlurListener(new BlurListener() {
@Override
public void blur(BlurEvent event) {
combo.removeShortcutListener(shortcutListener);
}
});
它所做的是在組合框獲得焦點時添加快捷方式偵聽器,並在組合框失去焦點時刪除快捷方式偵聽器。
這適用於TextField
s,但不適用於ComboBox
。原因是,無論何時按下ComboBox
上的輸入,都會調用blur事件,而不是調用快捷方式偵聽器。由於在模糊事件觸發時刪除了快捷方式偵聽器,因此快捷方式偵聽器不會被觸發。
爲什麼按下Enter後組合框會觸發模糊事件?我怎樣才能解決這個問題?
將組合框包裹在面板中,然後爲其分配快捷方式偵聽程序。它應該工作正常。 – Patton
@Patton它的工作。請作爲答覆發佈,我會接受。 –