Хотя ответ Карла, вероятно, лучший, менее приятная альтернатива, если по какой-то причине вы не можете изменить исходный вызов add ():
contents.remove(((BorderLayout)getLayout()).getLayoutComponent(BorderLayout.CENTER));
contents.add(someNewPanel);
Хотя, если вы считаете, что вам нужно это сделать, вы можете сделать шаг назад и оценить, почему вы пытаетесь это сделать.