gpt4 book ai didi

java - ZK消息框确认

转载 作者:行者123 更新时间:2023-11-30 07:07:31 25 4
gpt4 key购买 nike

我正在使用 ZK 并发现一些奇怪的行为。代码:

@Listen("onClick = button#load")
public void load() {
int result = Messagebox.show("Are you sure to execute Load?", "Execute?",
Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
log.debug("Result: {}", result);
if (result == Messagebox.YES) {
(new Thread(new Job("Load"))).start();
message.setValue("Job " + "Load " + " is Executed at " + new Date());

log.info("Load Called");
} else {
log.debug("Load Not Called");
}
}

无论是点击Yes还是No,都会返回1作为int。日志:

 02-Oct-2016 23:59:31.725 FINE [http-nio-8080-exec-1] com.Controller.load Result: 1
02-Oct-2016 23:59:31.726 FINE [http-nio-8080-exec-1] com.Controller.load Load Not Called
02-Oct-2016 23:59:39.541 FINE [http-nio-8080-exec-6] com.Controller.load Result: 1
02-Oct-2016 23:59:39.542 FINE [http-nio-8080-exec-6] com.Controller.load Load Not Called

如何做到正确?

最佳答案

您使用的是哪个版本的 ZK?

javadoc 说:

@return the button being pressed (one of {@link #OK}, {@link #CANCEL}, {@link #YES}, {@link #NO}, {@link #ABORT}, {@link #RETRY}, and {@link #IGNORE}).

Note: if the event processing thread is disabled, it always returns {@link #OK}.

但是如果你检查documentation关于事件处理线程,它说:

[Since ZK 7.0.0 deprecated to enable the event thread according to Java Servlet Specification that may prohibit the creation of new threads]

因此应该通知 ZK 更新其 javadoc,就像您使用 ZK7 或 8 一样,该方法将始终立即返回 1。

要回答您的问题,如果您想根据单击的按钮调用特定操作:

@Listen("onClick = button#load")
public void load() {
Messagebox.show("Are you sure to execute Load?", "Execute?", Messagebox.YES | Messagebox.NO,
Messagebox.QUESTION, new EventListener<Event>() {
@Override
public void onEvent(final Event evt) throws InterruptedException {
if (Messagebox.ON_YES.equals(evt.getName())) {
// Code if yes clicked
} else {
// Code if no clicked
}
}
}
);
}

关于java - ZK消息框确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39819540/

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