【问题标题】:Remove maximize, minimize, close button from JPanel从 JPanel 中删除最大化、最小化、关闭按钮
【发布时间】:2013-10-10 01:05:17
【问题描述】:
在 JDesktopPane 中,我包含了一个 JPanel,其中列出了一些设备的树形视图。我不需要图中显示的那个面板中的那些可调整大小和关闭选项。 (最大化、最小化、关闭)。我尝试了很多方法,但无法隐藏这些功能。任何想法。
【问题讨论】:
标签:
java
swing
jpanel
jdesktoppane
【解决方案1】:
您实际需要处理的组件是JInternalFrame,其中包含您上面提到的JPanel。这应该有许多功能来启用/禁用与最小/最大/关闭按钮相关的操作(例如:setMaximizable(bool enabled))。
我不知道这是否会隐藏按钮或只是禁用它们,因此您可能不得不使用 R.J 提到的技巧的一些变体 - 手动删除按钮。
【解决方案2】:
setMaximizable(false),
setMinimizabel(false),
setClosable(false)
【解决方案3】:
您可以像这样从摆动组件中删除最小化、最大化和关闭按钮:-
public void removeMinMaxClose(Component comp) {
if (comp instanceof AbstractButton) {
comp.getParent().remove(comp);
}
if (comp instanceof Container) {
Component[] comps = ((Container) comp).getComponents();
for (int x = 0, y = comps.length; x < y; x++) {
removeMinMaxClose(comps[x]);
}
}
}