我需要删除Component
的Center
中的JPanel
,但是经过一些尝试后没有成功。
我在这里尝试了该方法:
Removing the CENTER element from a JPanel using BorderLayout
但是答案的方法会产生编译时错误:
Type mismatch: cannot convert from LayoutManager to BorderLayout
我把答案解释错了吗?
另外,我也很好奇我是否可以仅从GroupLayout更新单个组件。有人可以告诉我该怎么做吗?
编辑:@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);
关于java - 如何使用BorderLayout/GroupLayout从JPanel中删除特定元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6307546/