java swt shell

阅读: 评论:0

java swt shell

java swt shell

我正在研究这个可以添加和删除其他复合材料的复合画布.

我对整个布局概念仍然处于迷雾中的理解.

当子容器被添加到容器中时,考虑到容器具有填充父容器的GridData这一事实,父容器是否也应该知道子容器已调整大小?由于shell(顶级父级),因此在容器布置后,子项仍然隐藏.

如果问题太模糊,请不要犹豫,询问更多细节.另外,请尽量不要将我指向SWT文章中的“理解布局”.

/**

*

* @author ggrec

*

*/

public class SSCCE

{

// ==================== 2. Instance Fields ============================

private Composite componentContainer;

private int componentCount = 0;

// ==================== 3. Static Methods =============================

public static void main(final String[] args)

{

new SSCCE();

}

// ==================== 4. Constructors ===============================

private SSCCE()

{

final Display display = new Display();

final Shell shell = new Shell(display);

shell.setLayout(new GridLayout(1, false));

createContents(shell);

shell.pack();

shell.open();

while (!shell.isDisposed())

{

if (!adAndDispatch())

display.sleep();

}

display.dispose();

}

// ==================== 5. Creators ===================================

private void createContents(final Composite parent)

{

parent.setLayout(new GridLayout());

parent.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

final Button button = new Button(parent, SWT.PUSH);

button.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

button.setText("Add New Component");

button.addSelectionListener(new SelectionAdapter()

{

@Override public void widgetSelected(final SelectionEvent e)

{

addNewComponent();

componentContainer.layout();

}

});

componentContainer = new Composite(parent, SWT.BORDER);

componentContainer.setLayout(new GridLayout());

componentContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

}

// ==================== 6. Action Methods =============================

private void addNewComponent()

{

final Composite component = new Composite(componentContainer, SWT.BORDER);

component.setLayout(new FillLayout());

component.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

final Label label = new Label(component, SWT.NONE);

label.setText( String.valueOf(componentCount++) );

}

}

本文发布于:2024-01-29 09:28:42,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170649172314318.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:java   swt   shell
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23