コンポジットの最大サイズを設定する方法はありますか? 私が方法を見つけたものだけ
setMinimumSize(Point point)
setSize(Point point)
これにより、最小サイズと優先サイズを設定できます。
私の知る限り、最大サイズの設定を持つレイアウトはありません。これは私の意見では良いことです。
Widget
次のシナリオを考えてみましょう: /の最大サイズをComposite
「見栄えが良い」と思われる値に設定します。エンドユーザーの画面解像度とテキスト サイズによっては、選択した最大サイズが正しく表示されない場合があります。これが、レイアウトが通常利用可能なスペースに適応する理由です。
それでも、サイズを制限するコードは次のとおりです。
public static void main(String[] args)
{
Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("StackOverflow");
shell.setLayout(new GridLayout(1, false));
final Button left = new Button(shell, SWT.PUSH);
left.setText("Restricted width");
left.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
left.addListener(SWT.Resize, new Listener()
{
@Override
public void handleEvent(Event arg0)
{
Point size = left.getSize();
if(size.x > 200)
{
left.setSize(200, size.y);
}
}
});
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
サイズ変更前:
サイズ変更後: