这是我希望能够动态调整大小的结果(抱歉我的 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);
}
}