動的にサイズ変更できるようにしたい結果は次のとおりです (Gimp のスキルが低くて申し訳ありません)。
別の SWT レイアウトを調べましたが、必要なものはありませんでした。そこで、ウィンドウをキャンバスに分割し、さまざまなオブジェクトをキャンバスに挿入しました。私の問題が から来ていることはわかっていますが.setBounds()
、オブジェクトを自由に配置する方法がとても簡単にわかりませんでした。
コードを変更してウィンドウのサイズを動的に変更するが、同様の結果が得られるようにするにはどうすればよいですか?
ここに基本的な例があります:
public class Main
{
private void images(Canvas Header)
{
// in Header Canvas located British flag image
imgGbFlag = new Label(Header, SWT.NONE);
imgGbFlag.setBounds(674, 10, 32, 24);
imgGbFlag.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
imgGbFlag.setImage(SWTResourceManager.getImage(Main.class, "/Images/gb.png"));
// in Header Canvas located German flag image
imgDeFlag = new Label(Header, SWT.NONE);
imgDeFlag.setBounds(712, 10, 32, 24);
imgDeFlag.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
imgDeFlag.setImage(SWTResourceManager.getImage(Main.class, "/Images/de.png"));
// in Header Canvas located French flag image
imgFrFlag = new Label(Header, SWT.NONE);
imgFrFlag.setBounds(750, 10, 32, 24);
imgFrFlag.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
imgFrFlag.setImage(SWTResourceManager.getImage(Main.class, "/Images/fr.png"));
}
public void Gui(Shell shell)
{
Canvas header = new Canvas(shell, SWT.NONE);
header.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
header.setBounds(0, 0, 792, 113);
images(header);
}
}