2012-04-25 8 views
1

私はsmartgwt 3.0を使用しています。SmartGWT - プログラムでresizebarの折りたたみ/展開アクションをトリガーする方法

ターゲットパネルを折りたたんだり展開したりするために、プログラムでリサイズバーにアクセスしたいと思います。どのようなAPIも見つからないようです。

canvas.getResizeBar();

どうすればよいですか?

コードのようなものを実行するための方法があります:

canvas.setCollapsed(ブール値);

ここで、trueはターゲットキャンバスを折りたたむことを示し、falseはターゲットキャンバスを拡大することを示します。

私はターゲットを拡大/縮小するためにターゲットキャンバスのsetWidthを明示的に使用することをお勧めします。私はすべての状態を複製し、ターゲットキャンバスの幅を記憶しなければならないので、それをやりなおすことを避けようとしています。ターゲットキャンバスの状態が既にどこかに保持されているときには、私はホイールを再構築すべきではありません。

答えて

2

resizeBarが折り​​畳まれるコンポーネントをhide()するだけで、resizeBarはコンポーネントの新しい状態を反映します。

+0

プログラムでパネルが非表示になっていると、リサイズバーが止まってしまい、ユーザーがパネルを展開できなくなります。そして3番目のパネルを対象としたリサイズバーを使用しようとしたとき、3番目のパネルは折りたたまれませんでしたが、そのウィジェットのサイズが変更されました。 –

0

は、あなたが(別のルートパネル内部の)左と、このような右のパネルを持っていると仮定します。

VLayout leftMainGUI = new VLayout(); 
leftMainGUI.setWidth(200); 
leftMainGUI.setShowResizeBar(true); 

VLayout rightMainGUI = new VLayout(); 
rightMainGUI.setWidth(200); 

あなたがrightMainGuiの幅を変更する場合は、バーが移動する必要があります。 rightMainGuiでhide()とshow()を使用するよりも確実ですか?

関連する問題