JFrame仅可调整大小

bri*_*n_d 6 java user-interface swing jframe resizable

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);
Run Code Online (Sandbox Code Playgroud)

仍然允许完全拉伸JFrame的宽度,并且设置setResizable(false)不允许任何拉伸.

Hao*_*hun 7

下面的代码完成了工作.

addComponentListener(new ComponentAdapter() {

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

});
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,当你和这样的布局管理员打架时,它会导致你的gui内部出现一个难看的永久性闪烁,这对我来说非常具有破坏性. (3认同)