Java JFrame:固定宽度但动态高度

Java JFrame:固定宽度但动态高度,java,swing,user-interface,jframe,dimension,Java,Swing,User Interface,Jframe,Dimension,有没有办法将JFrame的宽度设置为固定,而将JFrame的高度设置为动态?比如, width = 1200 Height = will be based on number of elements 换句话说 width = 1200 Height = pack() 请帮忙 使用宽度常量和高度变量,然后使用您可能不需要这个,但对于将来查看此线程的人,您可以声明宽度常量,并设置帧的最小和最大大小 setMinimumSize(new Dimension(WIDTH, 0)); setMax

有没有办法将JFrame的宽度设置为固定,而将JFrame的高度设置为动态?比如,

width = 1200 
Height = will be based on number of elements
换句话说

width = 1200 
Height = pack()

请帮忙

使用宽度常量和高度变量,然后使用

您可能不需要这个,但对于将来查看此线程的人,您可以声明宽度常量,并设置帧的最小和最大大小

setMinimumSize(new Dimension(WIDTH, 0));
setMaximumSize(new Dimension(WIDTH, Integer.MAX_VALUE));
setResizable(false);

对pack()的后续调用将强制执行宽度,但允许动态计算高度。

我认为最好的办法是通过覆盖内容窗格的
getPreferredSize
方法来限制其宽度。不要设置固定大小。请看这个也考虑<代码>边界布局。东<代码>或代码>边界布局。West/<代码> @ MadProgrammer:谢谢您的回复。我试试看this@Che:谢谢你的回复。我会试试这个,我很确定这不会阻止帧被调整大小(宽度方面)-这就是我如何理解这个问题的。此外,我们通常不鼓励使用setPreferredSize