2009-08-25 12 views
1

相対的なサイズのパラメータを持つスクロールパネルを作成しようとしています。しかし、Window.getHeightによって返されたようなint値を持つ場合、ScrollPanel.setSize(String, String)関数は機能することができません。GWT相対的な幅

私はそれがスクロールパネルの高さを変更し、代わりにデフォルト値を使用していませんScrollPanel.setSize("100%", "150px");を試してみてください。どんな助けもありがとう。

+0

問題を再現する最も簡単なコードスニペットを表示できますか?あなたがしようとしていることを正確に知っていれば、助けを得る可能性が高くなります。 –

+0

この質問(と私の答え)を参照してください:http://stackoverflow.com/questions/41110336/how-to-use-scrollpanel-with-relative-size – Adam

答えて

0

私はそれが高さで行うことは可能ですかどうかわからないんだけど、何の幅と私のために働いたことは最初に任意の幅を設定することでした、要素を取得してwidthプロパティを設定します。

ScrollPanel myScrollPanel = new ScrollPanel(); 
myScrollPanel.setSize("2112px", "150px"); // Arbitrary width. 
myScrollPanel.getElement().getStyle().setProperty("width", "100%"); // or "auto" 

希望(あなたが5年前にこれを尋ねたが、あなたはもう、おそらくそれについてあまり心配していないなら)これはあなたのために働きます!ここから私の答えをコピー

0

How to use ScrollPanel with relative size

=================================== ===============================

まず、ScrollPanel何かが「私はドンの理由で他のウィジェットとして動作していません理由を知りません。相対サイズ(50%)を設定できません。スタイルを指定すると、どこかで失われてページから見つけることができません。

私の解決方法は、ResizeLayoutPanelを使用することです。 Andreiは何かを使ってGiveResizeを提案しましたが、提供/要求サイズ変更チェーンは途切れないままでなければならず、これは非常に扱いにくいことがあります。私はこのResizeLayoutPanelを "1つの子には、しかし、RequiresResizeはありません"、これは私の複合材料のルートパネルの最適な候補であることがわかりました。次に、ScrollPanelを拡張して、親ResizeLayoutPanelによって呼び出されるたびに、 "onResize"メソッドでサイズを変更します。

私の最初の質問にまだ答えはありません:ScrollPanelによると、最初のように振る舞いますか?私はそのソースコードで答えを見つけようとしましたが、成功しませんでした(ただし、ソースコードを勉強するのに十分な時間を費やさなかった)。

public class My100PctScrollPanel extends ScrollPanel { 
    @Override 
    public void onResize() { 
     // Window.alert("on resize"); 
     this.setWidth(this.getParent().getOffsetWidth()+"px"); 
     this.setHeight(this.getParent().getOffsetHeight()+"px"); 
     super.onResize(); 
    } 
} 

........ 

compositeRoot = new ResizeLayoutPanel(); 

........ 
scrollPanel = new My100PctScrollPanel(); 
compositeRoot.clear(); 
compositeRoot.add(scrollPanel); 
関連する問題