java GWT对话框从不显示帮助
我写了一个测试复合+入口点,它只是为了显示我的测试对话框。 结构是
- A) 入口点包含复合
- B) 复合包含显示类的按钮(在ScrollPanel中)
- C) 类扩展了对话框
事件侦听器代码类似于
button.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { DialogBox aDialog=new A(); aDialog.center(); aDialog.show(); } });
没有显示doalogBox:(我做错了什么
任何有用的意见都将不胜感激
# 1 楼答案
我想我以前也遇到过类似的问题,我所做的是在中心()之前调用show()。那会有帮助吗
# 2 楼答案
一个可能的原因是您没有向根面板添加任何内容,在这种情况下,您正在内存中创建DOM结构,但没有将其附加到任何内容:
另一个原因是你似乎没有打电话给我。在对话框上显示方法:
您所描述的行为可能有几个原因,请发布完整的示例以获得更有针对性的答案
# 3 楼答案
首先,尝试在按钮的clickHandler中添加
Window.alert("Handler called!");
,以查看实际调用的处理程序。如果您看到一个javascript警报对话框(调用处理程序),这意味着问题出现在CustomDialogBox中。确保在调用show()
之前通过setWidget(Widget w)
设置对话框的内容,使其可见,否则它将不会显示如果没有警报(从未调用处理程序),则表示问题出在您的组合中。在不使用小部件的情况下将一些元素直接添加到DOM中可能会出现问题,这将打破gwt平衡机制(这将解释为什么在将按钮添加到根面板时它会工作)。除此之外,如果没有看到一些代码,很难判断
最后,我将发布一些工作代码,以防您决定从这里开始工作,看看它在哪里失败。下面是一个有效的代码:
第一个扩展对话框(别忘了设置它的小部件):
然后构建一个组合:
最后,在模块加载时:
顺便说一句:
center()
会将弹出窗口居中,然后show()
,因此不需要同时调用这两个窗口