在Eclipse RCP中调整子UI元素的大小



我有一个TabFolder,最初是调整大小的。TabFolder下面是一个TabItem, TabItem下面是一个Button。按钮继承了TabFolder的大小,所以它很大。调整按钮大小的最佳方法是什么?使用button.setBounds(…)不起作用

下面是代码片段:
public void createPartControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    TabFolder tabFolder = new TabFolder(container, SWT.NONE);
    Dimension dim = java.awt.Toolkit.getDefaultToolkit().getScreenSize();

    TabItem tbtmNewItem = new TabItem(tabFolder, SWT.NONE);
    tbtmNewItem.setText("1");
    TabItem tbtmBrowse = new TabItem(tabFolder, SWT.NONE);
    tbtmBrowse.setText("3");
    Button btnNewButton = new Button(tabFolder, SWT.BORDER | SWT.CENTER);
    btnNewButton.setAlignment(SWT.CENTER);
    tbtmBrowse.setControl(btnNewButton);
    btnNewButton.setText("Push");

    tabFolder.setBounds(0, 0,dim.width-10,dim.height-10);
    createActions();
    initializeToolBar();
    initializeMenu();
    this.setPartName("Home");

}

我找到了一个解决方案。我只是把按钮从选项卡的控件中移除了。

删除:

tbtmBrowse.setControl(btnNewButton);

按钮现在可以独立调整大小或使用setBounds当使用null布局

所以你在TabItem上设置的控件是Composite ?还是Button ?

控制按钮大小的方法是创建Composite并将其设置在TabItem上。然后你可以添加你的按钮(s)到Composite。然后在合成上设置布局来控制按钮的布局方式。有关布局的更多详细信息,请参阅http://www.eclipse.org/articles/article.php?file=Article-Understanding-Layouts/index.html。

编辑:

要使用它,您需要在选项卡文件夹和按钮之间插入一个组合:

Composite page = new Composite(tabFolder, SWT.NONE);
page.setLayout(new GridLayout(1, false));
Button btnNewButton = new Button(page, SWT.BORDER | SWT.CENTER);
btnNewButton.setAlignment(SWT.CENTER);
btnNewButton.setText("Push");
tbtmBrowse.setControl(page);

你使用布局来控制子控件的大小…在这种情况下,你的按钮。

相关内容

  • 没有找到相关文章

最新更新