RCP SWT Eclipse—清除复合容器



我需要你的帮助…我有一个2复合容器。其中一个有2个单选按钮,第一个单选按钮是CHART,另一个是REPORT。当用户选择图表时,第二个合成图中加载了一个图表,一切正常,但我不知道如何在用户选择"报告"时删除图表,是否有任何方法可以清除或删除它?我试过了,但我找不到解决办法。谢谢!

contenedor_chart = new Composite(parent, SWT.NONE);
        contenedor_chart.setLayout(new FillLayout());
        FillLayout filllayout = new FillLayout();
        filllayout.marginWidth = 50;
        filllayout.marginHeight = 50;
        contenedor_chart.setLayout(filllayout);
        CategoryDataset dataset = cbch.createDataset();
        JFreeChart chart = cbch.createChart(dataset);
        final ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(400, 170));
        new ChartComposite(contenedor_chart, SWT.NONE, chart, true);

您可以通过调用其dispose方法来处置您不再需要的控件:

Control chart = ... chart control
chart.dispose();

仅仅调用dispose不会回收控件使用的空间,除非您强制重新布局控件。例如,布局整个Shell使用:

Shell shell = ... current shell
shell.pack();

显示shell中的控件,并调整shell的大小。

如果你想重用图表,那么不要调用disposepack。你可以在控件上调用setVisible(false)

您还可以查看使用StackLayoutComposite中布局多个控件,或者使用Eclipse PageBook控件。

最新更新