This question already has answers here:
How to hide an SWT composite so that it takes no space?

(2个答案)


6年前关闭。





我创建了带有两个对象的复合(SWT):标签和文本。

在某些情况下,我不想看到这些小部件。当我按下按钮时,我想隐藏合成。

我是否可以选择隐藏复合材料,使其在屏幕上不占空间? (我不想看到空行,它们旁边还有其他对象)

我该怎么办?

    Composite comp = new Composite(shell, SWT.NONE);
    layout = new GridLayout();
    layout.numColumns = 2;

Label label = new Label(comp , SWT.BORDER);
label.setText("This is a label:");
label.setToolTipText("This is the tooltip of this label");

Text text = new Text(comp , SWT.NONE);
text.setText("This is the text in the text widget");
text.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
text.setForeground(display.getSystemColor(SWT.COLOR_WHITE));

最佳答案

您可以使用dispose()方法删除Composite
但是,如果要再次显示Composite,则必须再次创建。

编辑:

好吧,或者只是使用巴兹发布的解决方案。
这是更好的方法...

10-08 08:16