java - ZK 8.5.0如何重写按钮小部件setLabel函数

标签 java overriding zk

Button widget 的 ZK setLabel() 函数不起作用;当代码运行到像 foobutton.setLabel(mystring) 这样的行时,按钮就会从浏览器中消失。

在 Eclipse IDE 中,如果我将鼠标悬停在 setLabel() 函数上,IDE 会显示以下消息:

If label is changed, the whole component is invalidate.Thus, you want to smart-update, you have to override this method.

使用ZK 8.5.0

在 Controller 类中,我声明:

 @Wire
 Button delSelectedMonitor;

在 Controller 内部,我实现了一个实现 EventListener 的类:

public class onClickHolderEditMode implements EventListener{

    public void onEvent(Event event) throws Exception {
        clickedDivEditMode = (Div) event.getTarget();
        clickedDivIdEditMode = clickedDivEditMode.getId().split(myUtil.monitorholderString)[1];

        String curName = getCamNameById(clickedDivIdEditMode);
        delSelectedMonitor.setLabel("DELETE:"+clickedDivIdEditMode+","+curName);
    }


}

事件绑定(bind):

tmpdiv.addEventListener("onClick",  new onClickHolderEditMode());

我的期望是,当有人单击 tmpdiv 时,delSelectedMonitor 按钮将根据 tmpdiv 的属性更改其标签。然而,正如我之前所说,该按钮正在消失。

https://www.zkoss.org/wiki/ZK_Client-side_Reference/General_Control/Widget_Customization 我已尝试上述网站链接中的“指定您自己的小部件类”部分,但浏览器将处于等待状态。

请帮忙,谢谢。

最佳答案

我更喜欢不同的方法。

为什么不使用

<button label="@load(vm.xyz)" ... />

(我使用MVVM模式编写)并在点击操作中修改变量xyz?

查看http://books.zkoss.org/zk-mvvm-book/8.0/syntax/load.html用于实现指南。

关于java - ZK 8.5.0如何重写按钮小部件setLabel函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54739351/

相关文章:

java - 在java中检测可执行文件

java - 带有 ZK 的原生 JavaScript?

以子类为参数类型的Scala覆盖方法

python - Flask-安全覆盖寄存器 View

java - 方法不明确 - Java

java - 我如何在 zk 中使用这个参数?

zk - 有什么方法可以将 ZK colorBox 的 RGB 转换为 HexaDecimal

java - Jenkins 喜欢构建状态报告页面吗?

java - 关于事务和事件监听器

Java:二维数组的总和,其中 M[i][j] = (int) i/j