Combobox закрывается на закрытие MessageBox ZK - PullRequest
1 голос
/ 27 апреля 2020

Я использую ZK CE-9.0.0.

У меня есть combobox, который мне нужно открыть программно, по нажатию кнопки OK на Messagebox. Поэтому я реализовал Listener для события click кнопки OK. Внутри события щелчка я открываю combobox, используя следующий код:

EventListener<Messagebox.ClickEvent> clickListener = new EventListener<Messagebox.ClickEvent>() {
    @Override
    public void onEvent(ClickEvent event) throws Exception {
        mycombo.open();
    }
};
Messagebox.Button[] buttons = new Messagebox.Button[] {Messagebox.Button.OK};
Messagebox.show("Hi btn", buttons, clickListener);

Теперь проблема, с которой я сталкиваюсь, combobox открывается на полсекунды. Затем он автоматически закрывается автоматически.

Насколько я понимаю, это из-за Messagebox. Когда выполнение события щелчка завершено, Messagebox закрывается, и это также приводит к закрытию combobox.

Пожалуйста, взгляните на этот скрипач для лучшего понимания , Перед запуском выберите версию ZK 9.0.0.

Может ли кто-нибудь помочь мне с этим, пожалуйста?

Спасибо,

RAS

1 Ответ

2 голосов
/ 04 мая 2020

Вы правы в том, что основная проблема возникает из-за кнопки восстановления фокуса после анимации в выпадающем списке. Фокус возвращается к кнопке в закрытом окне сообщения. Поскольку выпадающий фокус в выпадающем списке, всплывающее окно со списком также закрыто.

Чистый способ справиться с этим - использовать событие эха подождать, пока окно сообщения действительно закроется, прежде чем отправлять действие open в комбинированный список. Смотрите эту скрипку: https://zkfiddle.org/sample/1rkm5d/6-Combobox-gets-closed-on-MessageBox-close#source -2

...