下面是結果我想能夠動態調整(對不起,我可憐的瘸子技能): 我擡頭不同的SWT佈局,但沒有提供我想要的。 所以我把我的窗口拆分成畫布,並將不同的對象插入到畫布上。 我知道我的問題來自.setBounds()
,但我沒有想到一種方法來自由地放置我的對象,這很容易完成。動態窗口大小調整SWT的Java
我該如何更改我的代碼以使動態窗口調整大小,但帶有明顯的結果?
這裏一個基本的例子:
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);
}
}
請務必閱讀:[瞭解SWT中的佈局](http://www.eclipse.org/articles/article.php?file=Article-Understanding-Layouts/index.html)。 **絕對不要使用'.setBounds()',除非絕對必要。您可以使用'GridLayout's輕鬆創建您想要的GUI(介意複數形式)。 – Baz