Java 使用BorderLayout从JPanel中删除中心元素

Java 使用BorderLayout从JPanel中删除中心元素,java,swing,layout,constraints,components,Java,Swing,Layout,Constraints,Components,是否有任何方法可以删除添加到JPanel的中心的组件,而不必参考组件本身,而使用边框布局 BorderLayout layout = (BorderLayout)panel.getLayout(); panel.remove(layout.getLayoutComponent(BorderLayout.CENTER)); 酷。我不得不稍微修改一下,但效果不错。以这种方式使用它:myPanel.remove(layout.getLayoutComponent(BorderLayout.CENTE

是否有任何方法可以删除添加到
JPanel
中心的
组件,而不必参考
组件本身,而使用
边框布局

BorderLayout layout = (BorderLayout)panel.getLayout();
panel.remove(layout.getLayoutComponent(BorderLayout.CENTER));

酷。我不得不稍微修改一下,但效果不错。以这种方式使用它:myPanel.remove(layout.getLayoutComponent(BorderLayout.CENTER);您都缺少remove函数的右括号;)确保在将组件更改为signal layout manager后调用Container.validate(),以重新计算所显示组件的位置。在您的示例中,它将是panel.validate();有人能解释一下你把这段代码放在哪里或者如何使用它吗?我收到了“不兼容类型:LayoutManager无法转换为BorderLayout”错误消息。我做错了什么?