从其他 class 内部触发 GWT class' 方法
Trigger GWT class' method from inside other class
我有一个 GWT 页面,其中包含许多不同的字段,用户需要填写这些字段。当用户完成表单填写后,他们可以单击此页面上的按钮,这将打开一个 PopupPanel,其中包含他们输入内容的摘要。如果用户确定他们输入的所有数据都是正确的,他们可以选择单击此 PopupPanel 上的 "OK" 按钮。我想要实现的是,当用户单击确定时,PopupPanel 关闭并触发初始 class 中的方法(并使用初始 class' 变量)。由于某些限制,我无法使用 EventBus。
在我最初的 class 中,我有这个点击处理程序:
buttonAnle.addClickHandler(new ClickHandler()
{
@Override
public void onClick(ClickEvent event)
{
if ( validateTimespan(subs) && validateSubumfeldTimespan(subs) )
{
summary();
}
}
});
方法 summary() 显示弹出面板:
private void summary()
{
int subumfelderNr = subs.getRowCount();
int werbeformenNr = kats.getRowCount();
int days = (int) (datumBis.getValue().getTime() - datumVon.getValue().getTime()) / 86400000;
new SubprogramPopup(umfeldText.getTextBoxText(), subumfelderNr - 1, werbeformenNr - 1, days + 1).show();
}
弹出窗口出现,现在我需要一种方法让单击“确定”按钮来触发我初始 class 中的方法。任何帮助将不胜感激。
一种可能的解决方案是在 SubprogramPopup 中使用界面。将此代码添加到 SubprogramPopup class:
interface MyHandler {
void doSomething();
}
并将 MyHandler 作为另一个参数添加到 SubprogramPopup 的构造函数中。
SubprogramPopup(Textbox textbox,
int value01,
int value02,
int value03,
MyHandler handler) {}
现在,如果您正在创建 SubprogramPopup,您可以使用处理程序添加一些东西,如果需要的话应该执行这些东西。
new SubprogramPopup(umfeldText.getTextBoxText(),
subumfelderNr - 1,
werbeformenNr - 1,
days + 1,
new MyHandler() {
public void doSomething() {
// enter your code here ...
}
}).show();
我有一个 GWT 页面,其中包含许多不同的字段,用户需要填写这些字段。当用户完成表单填写后,他们可以单击此页面上的按钮,这将打开一个 PopupPanel,其中包含他们输入内容的摘要。如果用户确定他们输入的所有数据都是正确的,他们可以选择单击此 PopupPanel 上的 "OK" 按钮。我想要实现的是,当用户单击确定时,PopupPanel 关闭并触发初始 class 中的方法(并使用初始 class' 变量)。由于某些限制,我无法使用 EventBus。
在我最初的 class 中,我有这个点击处理程序:
buttonAnle.addClickHandler(new ClickHandler()
{
@Override
public void onClick(ClickEvent event)
{
if ( validateTimespan(subs) && validateSubumfeldTimespan(subs) )
{
summary();
}
}
});
方法 summary() 显示弹出面板:
private void summary()
{
int subumfelderNr = subs.getRowCount();
int werbeformenNr = kats.getRowCount();
int days = (int) (datumBis.getValue().getTime() - datumVon.getValue().getTime()) / 86400000;
new SubprogramPopup(umfeldText.getTextBoxText(), subumfelderNr - 1, werbeformenNr - 1, days + 1).show();
}
弹出窗口出现,现在我需要一种方法让单击“确定”按钮来触发我初始 class 中的方法。任何帮助将不胜感激。
一种可能的解决方案是在 SubprogramPopup 中使用界面。将此代码添加到 SubprogramPopup class:
interface MyHandler {
void doSomething();
}
并将 MyHandler 作为另一个参数添加到 SubprogramPopup 的构造函数中。
SubprogramPopup(Textbox textbox,
int value01,
int value02,
int value03,
MyHandler handler) {}
现在,如果您正在创建 SubprogramPopup,您可以使用处理程序添加一些东西,如果需要的话应该执行这些东西。
new SubprogramPopup(umfeldText.getTextBoxText(),
subumfelderNr - 1,
werbeformenNr - 1,
days + 1,
new MyHandler() {
public void doSomething() {
// enter your code here ...
}
}).show();