JFrame可调整高度


问题内容

JFrame.setResizable(true)允许用户调整窗口的宽度和高度。是否存在允许用户仅调整高度大小的方法?

谢谢。

编辑: 下面的解决方案似乎不起作用。在360x600 JFrame上,

setResizable(true);
pack();
setMaximizedBounds(new java.awt.Rectangle(0, 0, 360, 1200));
setMaximumSize(new java.awt.Dimension(360, 1200));
setMinimumSize(new java.awt.Dimension(360, 600));
setPreferredSize(new java.awt.Dimension(360, 600));
setVisible(true);

仍然允许完全拉伸JFrame的宽度,而设置则setResizable(false)不允许任何拉伸。


问题答案:

下面的代码可以正确完成工作。

addComponentListener(new ComponentAdapter() {

    @Override
    public void componentResized(ComponentEvent e) {
        setSize(new Dimension(preferredWidth, getHeight()));
        super.componentResized(e);
    }

});