Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使窗口可见=";假;当窗口模式=”时;“模态”; 你好,世界!_Java_Mvvm_Zk_Zul - Fatal编程技术网

Java 如何使窗口可见=";假;当窗口模式=”时;“模态”; 你好,世界!

Java 如何使窗口可见=";假;当窗口模式=”时;“模态”; 你好,世界!,java,mvvm,zk,zul,Java,Mvvm,Zk,Zul,运行此示例时,我希望没有显示为visible=“false”的弹出窗口 但我确实得到了一个弹出窗口。。。我错过了什么 当我删除mode=“modal”时,它运行正常。那么,我们如何使用mode=“model”控制窗口上的可见属性呢 我为什么要做上述工作 我遵循的是mvvm模式,所以当应用程序中发生某些事情时,我想通过使弹出窗口可见来显示一个弹出窗口,这就是为什么我想创建一个模式的窗口,该窗口立即关闭,稍后再显示直觉是,你的要求没有意义。模式窗口必须具有焦点,并且必须在继续之前关闭。因此,如果

运行此示例时,我希望没有显示为visible=“false”的弹出窗口

但我确实得到了一个弹出窗口。。。我错过了什么

当我删除
mode=“modal”
时,它运行正常。那么,我们如何使用mode=“model”控制窗口上的可见属性呢


我为什么要做上述工作

我遵循的是
mvvm
模式,所以当应用程序中发生某些事情时,我想通过使弹出窗口可见来显示一个弹出窗口,这就是为什么我想创建一个
模式的
窗口,该窗口立即关闭,稍后再显示

直觉是,你的要求没有意义。模式窗口必须具有焦点,并且必须在继续之前关闭。因此,如果它在那里,它怎么可能不可见呢?

我认为与其显示模式窗口,不如建议使用通知

<window title="My First Window" border="normal" width="200px" visible="false" mode="modal">
Hello, World!
</window>
在你的代码中使用这样的代码,看看会发生什么

Clients.showNotification(msg); // display a global notification box
Clients.showNotification(msg, component); // display a notification box pointing to a component

你好,世界!

当您需要让窗口可见时,只需执行以下操作:


win.doModal()

窗口不应可见为visible=“false”@user2410148我理解,我只是不确定声明窗口既不是模态的,也不可见是否有意义。如果它是不可见的,它怎么可能是模态的?这可能就是它不起作用的原因。你所要求的可能从根本上是无效的。在zk文档中,他们写道“要关闭模式窗口,可以使其不可见(window.setVisible(boolean))”,标记现有(因此以前可见)模式窗口听起来与创建最初不可见的模式窗口完全不同。在您引用的行为之后,我会问您为什么要创建一个立即被忽略的模式窗口?它的用途是什么?我遵循mvvm模型,所以当应用程序中发生某些事情时,我想通过使弹出窗口可见来显示弹出窗口,这就是为什么我想创建一个模式窗口,该窗口会立即关闭并稍后显示。只需在viewmodel中创建一个布尔变量并绑定到zul页面。例如:visible=“@bind(vm.booleanVariable)“这不是针对MVVM的吗?你是在告诉我在showNotification中传递组件。因此,我需要用java创建一个图形组件,并跟踪它的引用,根据我的说法,它是针对MVVM的。你可以使用Clients.showNotification(msg);如果不想传递组件
<window title="My First Window" border="normal" width="200px"  mode="modal" visible="false">
Hello, World!
</window>
<window id="win" visible="false">

</window>