問題タブ [gwtp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
125 参照

java - CurrentUser が gwtp-sample-tab に HasHandlers を実装するのはなぜですか?

私はGWTとGWTPを自己学習しています。ロギング サービスをセットアップしようとしていますが、現在のユーザー オブジェクトに依存するプレゼンターが公開される前に、サーバーからそのオブジェクトを取得したいと考えています。

ただし、gwtp-sample-tab の例で、クラスCurrentUser が HasHandlers を実装している理由がわからないという事実に関係していると思われる問題に遭遇しました。

誰か説明してくれませんか?より正確な質問のために編集してください。私が知りたいのは、サンプルのコンテキストで、CurrentUser が HasHandlers を実装する必要がある理由です。アプリケーションでどのような機能を満たしていますか?

どうもありがとう、マヌ

PS。私は StackOverflow を初めて使用するので、私の質問に何か問題があると思われる場合はお知らせください。

0 投票する
1 に答える
115 参照

gwt - GWTP で GWT 2.0 レイアウト システムを設計するために RevealRootLayoutContentEvent を使用する方法は?

RevealRootLayoutContentEvent昨日聞いたばかりです。GWTPでそれを使用する方法がまったくわかりません。

OK、私は eClipse で GWTP を使用して、次の図のようなプレゼンターを作成しています ここに画像の説明を入力

まず、Presenter を作成するときに選択する必要がありますRevealRootLayoutContentEvent。eClipse はいくつかのファイルを生成します。次に何をすべきか?

RevealRootLayoutContentEventGWTP での使用方法の非常に簡単な例を誰か教えてもらえますか?

0 投票する
2 に答える
476 参照

gwt - DockLayoutPanel からブロック (West、East、North、または South ブロック) を削除できますか?

私は DockLayoutPanel が好きです。ただし、大きな問題があります。

DockLayoutPanel からブロック (West、East、North、または South ブロック) を削除する方法は次のとおりです。

言ってみましょう、私はこのコードを手に入れました

centralDockLayoutPanel から East ブロックを削除したいと考えています。だから私は試しました

しかし、それはうまくいきません

getView().getHappyHTMLPanel().setVisible(false);

また、動作しません

DockLayoutPanel からブロック (West、East、North、または South ブロック) を削除できますか?

0 投票する
2 に答える
89 参照

gwt - タブがGwtのTabLayoutPanelに挿入または削除されるたびにイベントを発生させる方法は?

TabLayoutPanel があります。最初、TabLayoutPanel にはタブがありません。ユーザーは、可能な限り多くのタブを追加できます。すべてのタブを削除することもできます。

私の要件は次のとおりです。

TabLayoutPanel に少なくとも 1 つのタブがある場合は常に、button enabled = true を設定したいと思います。タブがない場合は、button enabled = false に設定します。

上記のコードは機能しません。

では、タブが Gwt の TabLayoutPanel に挿入または削除されたときにイベントを発生させる方法は?

0 投票する
1 に答える
177 参照

gwt - いつコード分割を使用する必要がありますか?、分割フラグメントは 1 回読み込まれますか?

Eclipse で作成する場合、コード分割オプションはありません。そのため、 (で開始された)またはが呼び出されたときにダウンロードされるPresenterWidgetと想定しています。でこのコードを見てみましょう:PresenterWidgetDialogBoxHeaderPresenterHeaderPresenterHeaderPresenter

だから、私の最初の質問は次のとおりです。

MyDialogBox第 1 に、Web アプリケーションは、ユーザーがページにアクセスしたときにすべての GUI をダウンロードしますHeaderか?

2番目に、ユーザーがHeader同じブラウザと同じセッションで2回目にページにアクセスすると、webappはすべてのGUIをダウンロードしますMyDialogBoxか? (同じセッション上にある場合、GUI が別の場所で Catch を取得したため、再度ダウンロードされることはないと思います)

さて、次のように、 Google http://www.gwtproject.org/doc/latest/DevGuideCodeSplitting.htmlで提案されているように、このコード分割を配置します。

ユーザーがページにアクセスするたびに Webapp がこのコードをダウンロードすることはないと思いHeaderます。ただし、ユーザーがボタン「b」をクリックすると、コードがダウンロードされます。しかし、私の質問はそれです

最初にボタンをクリックするとダウンロードされますが、ユーザーが同じボタンを 2 回目または 3 回目でもクリックすると、アプリは 2 回目または 3 回目に同じものをダウンロードし続けますGUIDialogBox? または、アプリは最初にダウンロードしたときに他GUIDialogBox場所をキャッチし、ユーザーが2回目または3回目にクリックすると、同じものを再度ダウンロードするのではなく、キャッチを呼び戻しますか?

私は混乱しています、誰かが明確にすることができますか?

また、 big のコード分割を行う価値はありますDialogBoxか?

0 投票する
3 に答える
424 参照

gwt - GWT の UncaughtExceptionHandler が呼び出されない (GWTP と RF を使用)

クライアントで GWTP と RequestFactory を使用しています。

カスタムのUncaughtExceptionHandlerで Fatal Exception を処理したいと思います。カスタム ハンドラーを作成し、エントリ ポイント モジュールの configure() 呼び出しに登録しました。

ただし、クライアントで例外をスローすると

例外はキャプチャされません。開発モードでは、キャッチされていない例外が開発コンソールまでずっと表示されます。さらにデバッグすると、GWT がカスタム ハンドラーを登録していないことがわかります。

戻り値

com.google.gwt.core.client.GWT$DefaultUncaughtExceptionHandler@370563b1

GWT.setUncaughtExceptionHandler が機能しない理由についてのアイデアはありますか?

記録として、私はcleancodematters によるこの投稿をフォローしました。彼の実装と私の実装の唯一の違いは、クライアントで GWTP (および GIN) を使用していることです。

0 投票する
1 に答える
273 参照

gwt - SplitLayoutPanelのCentral Widgetの「setWidgetSize」方法は?

わかりました、私は の中に入れられた を持っていcentralHTMLます。<g:center>mySplitLayoutPanel

UiBinder で:

このコードは正常に動作しますmySplitLayoutPanel.setWidgetSize(westHTML,200)

ユーザーがスプリッターを右にドラッグすると、スプリッターcentralHTMLが見えなくなります。次に、centralWidget を表示するには、次を使用する必要があります。

西のウィジェットのサイズを設定するだけで、中央のウィジェットが自動的に表示されると言う人もいます。しかし、私はそれをしたくありません。代わりに、中央のウィジェットのみのウィジェットサイズを設定したいだけです。そう、

SplitLayoutPanelのCentral Widgetの「setWidgetSize」方法は?

0 投票する
3 に答える
816 参照

gwt - GWTP でプレゼンター以外のクラスに EventBus を使用するには?

GWTP プラットフォームと eClipse を使用して webapp を構築しています。Eclipse では、Presenter を作成すると、3 つのファイルが作成されます (例: SearchPresenter.java、SearchView.java、および SearchView.ui.xml)。

eventBus を使用するには、Eclipse を使用して MyEvent.java などの EventBus ファイルを作成し、次のコードを使用して SearchPresenter で eventBus を呼び出します。

今、プレゼンター以外のクラスを取得したとしますpublic class SearchDialogBox extends DialogBox。私の質問は、SearchDialogBox で MyEvent を使用するにはどうすればよいですか? SearchDialogBoxでEventBus()を取得するには?

0 投票する
1 に答える
200 参照

gwt - ウィジェットがSplitLayoutPanelでsetWidgetHidden == trueを取得したかどうかを確認するには?

Google はsetWidgetHidden(Widget)メソッドを提供しSplitLayoutPanelていますが、ウィジェットが入ったかどうかを確認する方法はありませんでしsetWidgetHidden == trueSplitLayoutPanel

次のように設定myWestWidget hidden == trueするとします:mySplitLayoutPanel.setWidgetHidden(myWestWidget, true);

次に、このコードを試しましif (mySplitLayoutPanel.getWidgetSize(myWestWidget)==0) then //do somethingたが、西のウィジェットが非表示になっているかどうかを認識しません。

では、ウィジェットが入ったかどうかを確認する方法setWidgetHidden == trueSplitLayoutPanel?

0 投票する
3 に答える
534 参照

gwt - GWT または GWTP で現在のプレゼンターを取得するには?

これが私の問題です。ヘッダー プレゼンターに多くのリンクがあります。

ユーザーが Link1 または Link2 または Link3 をクリックすると、新しいブラウザが開きます。

ただし、ユーザーが GuideDialogLink をクリックすると、現在のリンクの上に DialogBox がポップアップ表示されます。

GuideDialog は、ユーザーが滞在しているリンクに応じて異なる GUI を表示するように設計されています。そのコードは次のようになります。

たとえば、ユーザーが Link3 にとどまっているときに GuideDialogLink をクリックすると、ユーザーが Link1 または Link2 にとどまっている場合、Gui1 または Gui2 とは異なる Gui3 を持つ DialogBox が表示されます。

だから、私の質問は:

現在のプレゼンターを取得する方法はありますか?

どのプレゼンターが現在のプレゼンターであるかがわかっている場合は、それに応じて GuideDialog を呼び出すことができます。例:GuideDialog myGD=new GuideDialog(0);

-他の解決策はpublic static int currentLinkUtilityクラス内に保存することです。また、ユーザーが link1 または link2 または link3 をクリックすると、EventBus を使用して、public static currentLinkそれに応じて最終的に設定するように設定できますGuideDialog myGD=new GuideDialog(Utility.currentLink);

しかし、Googleには現在どのページにいるのかを知らせる機能が必要なので、このソリューションはエレガントではないと思います.

では、どうすれば問題をエレガントに解決できますか?

編集

わかりました、それを明確にさせてください。GWTP を使用して webapp を作成しています。

-1 つ目は、Eclipse を使用して HeaderPresenter を生成しました。日食は (HeaderPresenter.java、HeaderView.java & HeaderView.ui.xml) を作成します。HeaderPresenter には、link1、link2、link3、GuideDialogLink の 4 つのハイパーリンクがあります。

-2番目に、Link1Presenter (Link1Presenter.java、Link1View.java、Link1View.ui.xml) を作成しました。次に、Link2Presenter (Link2Presenter.java、Link2View.java、Link2View.ui.xml) を作成しました。次に、Link3Presenter (Link3Presenter.java、Link3View.java、Link3View.ui.xml) を作成しました。

-3setInSlot番目に、Link1Presenter、Link2Presenter、Link3Presenter を HeaderPresenter 内に埋め込んだり入れ子にしたりしていました。これは、ユーザーが link1 (例: abc.com#link1) にアクセスすると、4 つのハイパーリンク (link1、link2、link3、GuideDialogLink) が表示されることを意味します。リンク 2 (例: abc.com#link2) またはリンク 3 にアクセスすると、4 つのハイパーリンクも表示されます。

-4番目に、GuideDialog.javaを作成してDialogBoxを拡張し、HeaderPresenterで拡張します。guideDialogLink.addClickHandler(new ClickHandler(){ GuideDialog myGD=new GuideDialog (int whichLink); });

ユーザーが link1、2、または 3 のいずれかにいる場合、GuideDialogLink が表示されますよね? & 彼らが GuideDialog をクリックすると、DialogBox がポップアップしますか?

私の要件は、ユーザーが Link1 にいて、GuideDialogLink をクリックすると、ダイアログがポップアップして、Gui (2 つのテキストボックス) が表示されることです。ユーザーが Link2 にいて、GuideDialogLink をクリックすると、ダイアログがポップアップし、別の GUI (2 つのラベル) が表示されます。ユーザーがLink3にいて、GuideDialogLinkをクリックすると、ダイアログがポップアップして別のGuiが表示されます(2つのチェックボックスが表示されます)