Java JFrame设置为不调整大小,但无论如何都会调整大小

Java JFrame设置为不调整大小,但无论如何都会调整大小,java,swing,resize,jframe,Java,Swing,Resize,Jframe,我有一个JFrame最大化使用 frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 在那和结尾之间有一些代码 frame.setVisible(true); frame.setResizeable(false); 很难,向下拖动窗口的顶部会调整其大小。 我向它添加了一个ComponentListener,以查看它是否检测到正在调整大小,并且确实如此。当我调整大小时,会调用componentResized函数。 有什么办法吗? 谢谢 向下拖动窗口的顶部

我有一个JFrame最大化使用

frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
在那和结尾之间有一些代码

frame.setVisible(true);
frame.setResizeable(false);
很难,向下拖动窗口的顶部会调整其大小。 我向它添加了一个ComponentListener,以查看它是否检测到正在调整大小,并且确实如此。当我调整大小时,会调用componentResized函数。 有什么办法吗? 谢谢

向下拖动窗口的顶部可调整其大小

这就是应用程序在Windows中的工作方式。尝试使用本机Windows应用程序,您将看到拖动窗口会使其缩小到首选大小

您可以尝试以下代码:

JFrame frame = new JFrame();
frame.setResizable(false);
frame.pack();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);
frame.setMinimumSize(frame.getSize());

您仍然可以从其位置拖动框架,但无法调整其大小。

最好发布代码。请发布代码,这将是最好的。我知道这只是一个临时(但不是很好)修复,但是,如果您知道ComponentListener在ComponentResistized上被调用,您可以存储原始宽度和高度,并在ComponentResistized上将其更改回来。或者,你们知道,发布你们的代码,这样我们就可以提供帮助。但在我的代码中,它不是这样工作的……通过类似于OP示例中的设置,我可以拖动窗口,它不会改变大小,我也不能改变大小。