我有一个JDialog对象,非常简单,必须是200像素宽,无论其内容如何.
我需要能够动态调整高度,以确保始终显示所有内容.我该怎么办呢?
JDialog.getPreferredSize()方法,但我无法弄清楚要为高度值添加什么.mainJPanel中isValid()和isShowing(),但是,两者只要返回true作为面板的一部分实际上是可见的.首选大小仅适用于布局管理器,它们不能限制窗口大小.
窗口对等体有一种强制执行最小尺寸的方法,因此效果很好,但除了调整大小和重置为所需大小之外,没有任何最大尺寸:
setMinimumSize(new Dimension(200, Integer.MAX_VALUE));
addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
Dimension size = getSize();
size.width = 200;
setSize(size);
}
});
Run Code Online (Sandbox Code Playgroud)