gpt4 book ai didi

java - 按下 Enter 键时会触发 Vaadin ComboBox 模糊事件

转载 作者:行者123 更新时间:2023-12-01 10:15:16 24 4
gpt4 key购买 nike

我需要向 ComboBox 添加一个 Enter 键快捷键监听器。当 ComboBox 获得焦点时,我只需要快捷方式即可工作。我使用this中描述的方法回答。

    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,但不适用于 ComboBox。原因是,每当我在 ComboBox 上按 Enter 时,都会调用模糊事件,而不是调用快捷方式监听器。由于当模糊事件被触发时,快捷方式监听器将被删除,因此快捷方式监听器永远不会被触发。

为什么按下 Enter 时组合框会触发模糊事件?我怎样才能解决这个问题?

最佳答案

正如上面评论中所讨论的,包装组合框面板并向其添加快捷方式监听器。这应该可行。

为什么?默认情况下添加快捷方式监听器时,此快捷方式监听器的范围将添加到封闭的面板/窗口/UI(基本上是单个组件容器)。

希望这有帮助。

关于java - 按下 Enter 键时会触发 Vaadin ComboBox 模糊事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35936031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com