从JPanel中删除最大化,最小化,关闭按钮

时间:2013-10-03 10:57:14

标签: java swing jpanel jdesktoppane

在JDesktopPane中,我已经包含了一个带有树视图的JPanel,其中列出了一些设备。我不需要在图中的面板显示中那些可调整大小和关闭选项。 (最大化,最小化,关闭)。我尝试了很多方法,但无法隐藏这些功能。任何想法。

enter image description here

3 个答案:

答案 0 :(得分:3)

您实际需要处理的组件是JInternalFrame,其中包含您在上面提到的JPanel。这应该有许多功能来启用/禁用与最小/最大/关闭按钮相关的操作(例如:setMaximizable(bool enabled))。

我不知道这是否会隐藏按钮或只是禁用它们,所以你可能不得不使用R.J提到的技巧的一些变体 - 手动删除按钮。

答案 1 :(得分:2)

setMaximizable(false), 
setMinimizabel(false), 
setClosable(false)

答案 2 :(得分:0)

您可以从swing组件中删除最小化,最大化和关闭按钮,如下所示: -

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]);
        }
    }
}