if (cardPanel.getComponent(0) != null) cardPanel.remove(0);
我需要删除cardPanel上可能存在的任何内容,这是一个JPanel ... 如果什么都没有,那么就不应该试图删除。
答案 0 :(得分:2)
您可以使用:
cardPanel.removeAll();
无需检查面板上是否有任何组件。
答案 1 :(得分:2)
只删除JPanel?你可以试试这个:
Component[] components = cardPanel.getComponents();
for(Component c : components)
if(c instanceof JPanel)
cardPanel.remove(c);
答案 2 :(得分:0)
一种可能的方法是使用以下代码首先检查是否有任何内容,在可能出现错误的情况之前删除组件并清空JPanel:
boolean isComponentInPanel(Component component){ 返回 java.util.Arrays.asList(panel.getComponents()) 。载(组分); }