2009-07-08 16 views
0

左側にドキュメントツリー、右側に現在のエディタペインを含むJSplitPaneがあるアプリケーションを作成しようとしています。エディタペインには、編集ペインの一部としてのツールバーがあります。私の問題は、JSplitPaneを含むJFrameが分割ペインの右側のコンポーネントがツールバーのサイズに達すると直ちにサイズが変更されると、右側のペインが左ペインを '詰め込む'ようになります。JSplitPane内のJToolbarのサイズ変更

スプリットペインの2つのコンポーネントを同じ比率に保ち、ツールバー内にアイテムを表示しないようにする方法や、「もっと」ボタンがあることを誰かが知っているのだろうかと思いました。私はフレームツールバーで働いている 'より多くの'機能のためのチグリスツールバーを持っています、それはちょうどJScrollpane内でサイズ変更されていないようです。

ありがとうございました。

答えて

3

私が正しく理解している場合、親フレームのサイズが変更されているときに同じ優先順位で両側を処理するために分割ペインを取得することを検討しています。その場合は、方法JSplitPane.setResizeWeight(double)を調べるとよいでしょう。

分割ペインのサイズが変更されたときに余分なスペースをどのように分配するかを指定します。デフォルト値は0で、右/下のコンポーネントが余分なスペースをすべて取得することを示します(左/上のコンポーネントは固定されます)。値1の場合、左/下のコンポーネントは固定されています)。具体的には、左/上のコンポーネントは余分なスペースを取得し、右/下のコンポーネントは余分なスペースを追加します。

私は0.5を試してみます。それは関係なく、重量、サイズ変更されたとき

編集

BasicSplitPaneUIのためのコードを見て、それを考慮に左と右の成分の両方の最小サイズを取ります。体重はまだ重要です、あなたを気にしてください。それはコンポーネントの最小限に過ぎない。これを念頭に置いて、ツールバーまたはその中のスクロールペインに最小サイズを設定してみてください。

+0

hmmは試してみたが、何も変わっていない。私は問題は、ツールバーは最大サイズにとどまり、JSplitPaneのresizeweightを行き来し、右のコンポーネントがその幅を持つように強制する必要があることだと思います。しかし、速い返信のおかげで。 – schubySteve

+0

もupvoted持っていたが、私は担当者を持っていない。ツールバーの最小サイズを設定するだけで済みました。既定値としてサイズ変更のウェイトを残し、すべての作業を行いました。ありがとう。 – schubySteve

関連する問題