带有隐藏或没有最大化按钮的JFrame,但应该能够使用鼠标来调整大小(单击并拖动jFrame边框)。 setResizable(false)仅禁用最小化按钮,而不能使用鼠标调整大小。

最佳答案

我个人无法想到允许调整大小且不允许最大化的原因,但是这里有一个示例,说明了如何在允许调整大小和最小化的同时防止最大化JFrame。在Windows中测试,未在所有其他平台上测试。使用setMaximizedBounds()可使全屏闪烁最小化。

    final JFrame jFrameNoMax = new JFrame() {
        {
            setMaximizedBounds(new Rectangle(0, 0));
            addWindowStateListener(new WindowStateListener() {
                public void windowStateChanged(final WindowEvent e) {
                    if (e.getNewState() == MAXIMIZED_BOTH) {
                        setExtendedState(NORMAL);
                    }
                }
            });
        }
    };

    // Tester
    jFrameNoMax.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    jFrameNoMax.setSize(300, 300);
    jFrameNoMax.setLocation(300, 300);
    jFrameNoMax.setVisible(true);

10-06 16:02