首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用不同的方法处理GWT单击事件

用不同的方法处理GWT单击事件
EN

Stack Overflow用户
提问于 2013-07-17 18:44:54
回答 1查看 990关注 0票数 0

基本上,我在这里试图做的是处理单击事件,哪个面板应该显示为取决于哪个按钮是单击。例如,如果我们单击按钮1,相应的面板将弹出。但是面板和单击事件之间不知道任何关于彼此的信息。我想这叫匿名课。我很难实现这一点。实现这一点的好方法是什么?

这是我的按钮单击事件类

代码语言:javascript
运行
复制
public class buttonHandle extends Composite {

private static buttonHandleUiBinder uiBinder = GWT
        .create(buttonHandleUiBinder.class);
@UiField Button button;
@UiField Button button_1;

interface buttonHandleUiBinder extends UiBinder<Widget, buttonHandle> {
}
public buttonHandle() {
    initWidget(uiBinder.createAndBindUi(this));
}

@UiHandler("button")
void onButtonClick(ClickEvent event) {
}
@UiHandler("button_1")
void onButton_1Click(ClickEvent event) {
}
}

--这是我每次点击按钮时尝试添加一个新按钮的类,

代码语言:javascript
运行
复制
public class PanelHandle extends Composite {
private AbsolutePanel absolutePanel = new AbsolutePanel();

public PanelHandle() {

    initWidget(absolutePanel);
    absolutePanel.setSize("1027px", "636px");

    Label lblHello = new Label("Hello");
    absolutePanel.add(lblHello, 47, 80);

    Label lblHello_1 = new Label("Hello");
    absolutePanel.add(lblHello_1, 232, 249);
    // TODO Auto-generated constructor stub
}
public void buttonOne()
{
    this.absolutePanel.clear();
    Button but1 = new Button("button one");
    this.absolutePanel.add(but1);

}
}

--我尝试过这样做,但是它没有用新的按钮更新面板

代码语言:javascript
运行
复制
private PanelHandle pHandle = new PanelHandle();
private static buttonHandleUiBinder uiBinder = GWT
        .create(buttonHandleUiBinder.class);
@UiField Button button;
@UiField Button button_1;

interface buttonHandleUiBinder extends UiBinder<Widget, buttonHandle> {
}
public buttonHandle() {
    initWidget(uiBinder.createAndBindUi(this));
}


@UiHandler("button")
void onButtonClick(ClickEvent event) {
    Window.alert("hello buttone clicked");
    pHandle.buttonOne();


}
@UiHandler("button_1")
void onButton_1Click(ClickEvent event) {
}
}

到目前为止,我试图在我的PanelHandle类中调用该方法,但是我遇到了类似堆栈溢出的错误。在我尝试过的另一种方法中,添加时无法更新面板。我在这里使用一个按钮,而不是面板,只是为了测试,直到我明白了逻辑。

谢谢你的帮助!

EN

Stack Overflow用户

回答已采纳

发布于 2013-07-17 19:08:50

单击按钮时创建自己的(Gwt)事件。你可以随心所欲地炒掉你自己的活动。用您需要的信息填充事件。接下来,将必须处理此事件的类添加到gwt事件总线中。如果事件被触发,您的handle类将捕获该事件并处理来自该事件的数据。

这可能会有帮助:How to use the GWT EventBus

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17707772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档