删除JPanel中添加的组件

时间:2013-03-14 08:58:01

标签: java swing components cardlayout removeall

我的卡片布局有这个JPanel:

CardLayout:

  1. panelEntry
  2. panelRecord
  3. 在panelRecord中,我添加了分量视频捕获。 此代码添加了视频捕获组件:

    panelRecord.add(BorderLayout.CENTER, graph.asComponent());
    

    graph.asComponent()是来自DSJ(Direct Show JavaWrapper)的组件,我现在不知道这个组件的类型。

    当我回到panelEntry布局时(因为我使用卡片布局),panelEntry中的所有函数都很慢。我想,因为它仍然有panelRecord视频捕获活跃。 我想先删除panelRecord中的组件。怎么样?

    请帮助,谢谢:)

1 个答案:

答案 0 :(得分:0)

Container有一种删除组件的方法

public void remove(Component comp)
  

从此容器中删除指定的组件。此方法还通知布局管理器通过removeLayoutComponent方法从此容器的布局中删除组件。

为要删除的组件创建变量

compToRemove = graph.asComponent()

添加

panelRecord.add(BorderLayout.CENTER, graph.asComponent());

如果您愿意,请将其删除

panelRecord.remove(compToRemove);

您需要在每一步更新图形