我是GWT的新手,这应该是一个我希望的简单问题。
想象一下,我制作了两个Uibinders模块或两个独立的小部件。(这是一个揭示我问题的简化示例)
一个是一组按钮(ButtonPanel),当我按下上一个面板(ImagePAnel)中的一个按钮时,显示另一个图像,标签是图像的标题。
当(ButtonPanel)中的按钮点击处理程序时,如何触及imagePanel以启动wiget
感谢您的帮助。
答案 0 :(得分:0)
我不能说我完全理解你要完成的是什么,但总的来说,GUI应用程序中不同组件进行通信的最佳方式是使用eventbus模式。应用程序中有一个全局Eventbus对象,它允许组件订阅从应用程序中的任何位置触发的指定类型的事件。这样就可以避免意大利面条代码,并且组件松散耦合。
http://code.google.com/webtoolkit/articles/mvp-architecture.html#events
答案 1 :(得分:0)
我通常创建第三个组件,它是您定义的Button和Image组件的容器。该组件将自身设置为两者的回调,并包含集成两者的逻辑。
答案 2 :(得分:0)
我建议您使用MVP Pattern for Development并在Presenter中添加所有事件。
或者您也可以在UIBinder的Java文件中使用以下技术
@UiHandler(value={"openButton"})
public void onOpenButtonClick(ClickEvent clickEvent){
//ADD THE BUTTON LOGIC HERE
}
只需创建图像的对象&要加载的ImagePanel并使用此按钮单击按钮添加它。