java - 如何在 swt 中从父组合中删除子组合?

标签 java swt

我想从其父级中删除一个子级,但没有。我试图看不见它、排除它、摧毁它。没有任何帮助。或者是否可以向父级添加一组新的子级?

最佳答案

您需要在处置控件后重新布局 UI:

 if(! child.isDisposed()){
    child.dispose();
 }
 paramComposite.layout(true, true);

如果您在 paramComposite 中使用 GridLayout,则可以排除该单元格:

 if(child.getLayoutData() instanceof GridData){
    ((GridData)child.getLayoutData() ).exclude = true;
 }
 paramComposite.layout(true, true);

添加新子项:

 Composite newChild = new Composite(paramComposite , SWT.NON) 
 paramComposite.layout(true, true);

或者更改现有控件的父级:

 existingControl.setParent(paramComposite );
 existingControl.setLayoutData(existingControlLayoutData);
 paramComposite.layout(true, true);

关于java - 如何在 swt 中从父组合中删除子组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48150280/

相关文章:

java - 为什么我的 SWT Shell 总是在后台出现?

java - Kafka Producer Java 和 .NET CORE 2.1

java - 在哪里放置检查图中两条边是否平行的方法?

java - linux安装jdk 1.7时报错

java - 如何在 SWT 中强制重绘前隐形组的内容?

java - SWT工具栏问题

java - Android Studio 在输入时卡住

java - 使用DOT语言或java或类似语言绘制范围柱形图?

java - SWT + Maven + Eclipse = java.lang.UnsatisfiedLinkError : no swt-carbon-3346 or swt-carbon in swt. 库.path

java - 如何右对齐 Java SWT Unified ToolBar (OS X) 中的搜索栏