0

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

スプリットペインの2つのコンポーネントを同じ比率に保ち、その中のアイテムの表示を停止するツールバーがあるか、[詳細]ボタンがあるかを誰かが知っているかどうか疑問に思いました。フレームツールバーで機能する「more」機能のtigrisツールバーがありますが、JScrollpane内でサイズが変更されないようです。

助けてくれてありがとう。

4

1 に答える 1

3

私が正しく理解していれば、親フレームのサイズが変更されているときに、分割ペインで両側を同じ優先度で処理することを検討しています。その場合は、メソッドを確認することをお勧めしますJSplitPane.setResizeWeight(double)

分割ペインのサイズが変更されたときに余分なスペースを配分する方法を指定します。デフォルトの値0は、右/下のコンポーネントがすべての余分なスペースを取得することを示します(左/上のコンポーネントは固定されます)。一方、値1は、左/上のコンポーネントがすべての余分なスペースを取得することを示します(右/下部のコンポーネントは固定された動作をします)。具体的には、左/上のコンポーネントは(weight * diff)余分なスペースを取得し、右/下のコンポーネントは(1-weight)*diff余分なスペースを取得します。

それを念頭に置いて、私は0.5を試してみます。

編集

BasicSplitPaneUIのコードを見ると、重量に関係なく、サイズ変更時に左右両方のコンポーネントの最小サイズが考慮されます。重量はまだ重要です、気をつけてください。最小限のコンポーネントで切り詰められます。これを念頭に置いて、ツールバーまたはそれが含まれているスクロールペインで最小サイズを設定してみてください。

于 2009-07-08T00:56:07.287 に答える