0

しばらくの間、コンポジットを含むダイアログを作成しようとしました。コンポジットには、コンテンツを表示するには小さすぎる場合に、水平スクロール バーと垂直スクロール バーを追加する機能があります。コンポジット内にはツリー ウィジェットがあります。このツリー ウィジェットは、特定の領域に列または行を表示できない場合に、同様の方法でスクロールバーを提供する必要があります。

私がやろうとしていることの良い例は、Eclipse の Window > Preferences ダイアログの Validation オプションです。列が大きくなるようにサイズ変更された場合にスクロールバーを提供するテーブルがあります。同時に、ダイアログのサイズが縮小されると、コンポジット用のスクロールバーが提供されます。

私がやろうとしたことは、GridLayoutを持つ別のコンポジットを内部に配置するScrolledCompositeを作成することです。その後、ツリーと一連のラベルとボタンをコンポジット内に配置しました。ただし、Tree 内に TreeColumns または TreeItems を配置しすぎると、スクロールバーが表示されず、単にサイズが拡大されます。

私が間違っていることと、それを適切に行う方法はありますか? 前もって感謝します。

4

1 に答える 1

-1

以下のようなものを使用して、ツリーに幅のヒントを設定してみてください。

Tree tree = ...
GridData gd = new GridData();
gd.widthHint = XX;
gd.heightHint = XX;
tree.setLayoutData(gd);
于 2013-03-07T14:16:10.453 に答える