如何在gwt入口点声明的元素上应用gwt-query?

时间:2013-12-10 07:28:35

标签: gwt gwtquery

我们在成功完成创建,保存,更新应用程序中的凭证后显示消息,我们正在使用gwt执行上述所有处理,并将通过使用gwt-rpc从服务器端获取成功消息然后将其放入面板中的消息,在gwt入口点中声明。我们决定使用gwt-query来使应用程序生效,就像我们向用户显示消息后它应该在一段时间(秒)之后隐藏。

我们已经尝试过,但我们无法在gwt入口点声明的面板或元素上应用gquery。我们申请了html或jsp文件中的元素。我们需要一些帮助。

代码段

Public class myGwtEntryPoint implements EntryPoint {
VerticalPanel fiscalSettingPanel = new VerticalPanel();
  AbsolutePanel messagePanel = new AbsolutePanel();
  SimplePanel finishPanel = new SimplePanel();
  BaseCurrency baseCurrencyGlobal;
  ListBox monthListBox = new ListBox();

  @Override
  public void onModuleLoad() {
    // Removing loading image in Jsp before loading gwt module.
    if (RootPanel.get("accountingsetup-div").getElement().hasChildNodes())
      RootPanel.get("accountingsetup-div").getElement().getFirstChildElement().removeFromParent();

      // Here i am getting success message from server(gwt-rpc) and that to the  "messagePanel", that messagePanel to the 'fiscalSettingPanel '   
         fiscalSettingPanel .add("messagePanel");
 }

在上面的代码片段中,一旦显示消息,我想通过使用gwt-query

使消息在5秒后消失

2 个答案:

答案 0 :(得分:0)

像这样?

import com.google.gwt.user.client.Timer;

private Timer myTimer = new Timer()
{   
    @Override
    public void run()
    {
        /**
         * remove your Panel
         */
        fiscalSettingPanel.remove("messagePanel");
    }
};
myTimer.schedule(5000);

答案 1 :(得分:0)

您可以使用gquery选择元素和小部件并与之交互,您可以使用css选择器,元素和小部件作为参数,因此在您的情况下

1.-我将使用gquery以这种方式从你的jsp中删除加载图像,而不是处理大代码:

// Removing loading image in Jsp before loading gwt module.
$("#accountingsetup-div").empty();

2.-与一段时间后如何隐藏面板有关,我将使用效果队列,因此链接延迟和隐藏效果就足够了。

 // Here i am getting success message from server(gwt-rpc) and that to the  "messagePanel", that messagePanel to the 'fiscalSettingPanel '

 messagePanel.clear();
 messagePanel.add(new Label("Server message"));

 // First show the panel, and them enqueue an effect to hide it
 $(messagePanel).show().delay(4000).fadeOut();