如何使用BorderLayout/grouplayout从JPANEL中删除特定元素?
-
26-10-2019 - |
题
我需要删除 Component
在里面 Center
的 JPanel
, ,但是经过一些尝试之后。
我在这里尝试了该方法:
但是答案的方法会产生编译时间错误:
Type mismatch: cannot convert from LayoutManager to BorderLayout
我是在解释答案吗?
此外,我也很好奇是否只能从Groplayout中更新一个组件。有人可以告诉我怎么做吗?
编辑:@mre:这是代码:
BorderLayout layout = panel.getLayout();
panel.remove(layout.getLayoutComponent(BorderLayout.CENTER));
基本上与链接中的相同。
谢谢你们!
解决方案
您必须淡化布局经理到BorderLayout:
BorderLayout layout = (BorderLayout) panel.getLayout();
但是,如果您知道哪个组件位于中心,则可以将其删除:
panel.add(myComponent, BorderLayout.CENTER);
...
panel.remove(myComponent);
不隶属于 StackOverflow