setScrollTop を GWT で動作させるのに問題があります。基本的に、ビューが構築された直後に、(特定の目的の要素に焦点を当てるために) カスタムのスクロール位置を設定しようとしています。適切なタイミングで設定していないため、機能していないようです (UI はまだレンダリング/構築中などである可能性があります)。
セットアップは次のとおりです。
start メソッドが次のようなウィジェットがあります。
public void start(AcceptsOneWidget widget, EventBus eventBus) { widget.setWidget(view);s Runnable onLoadCallback = new Runnable() { public void run() { initView(); } }; VisualizationUtils.loadVisualizationApi(onLoadCallback, LineChart.PACKAGE); }
initView パネル内で、いくつかのチャートを含むビューを動的に作成します (サーバーにリクエストを送信し、応答が来るのを待ってから、サーバーの応答に基づいて UI をレンダリングします)。
サーバーからの応答が到着した後、UI の構築が完了した後、次のようにスクロール位置を設定しようとしています。
view.getContainerPanel().getElement().setScrollTop(2000);
これはまったく効果がないようです。ただし、このビューを離れて少し後で戻ると、機能します (おそらく、既に初期化されているか何かが原因でしょうか?)
質問は次のとおりです: setScrollTop を呼び出す正しいタイミングはいつですか? 対応するビューからいくつかのメソッドをオーバーライドしようとしましたが、うまくいかないようです。