JDialog固定高度

Jos*_*osh 5 java swing jdialog

可能重复:
JDialog允许用户仅更改对话框的宽度

我有一个JDialog,我希望宽度可以调整,但高度不是.

这是我目前的代码:

addComponentListener(new ComponentAdapter() {
    @Override
    public void componentResized(ComponentEvent e) {
        setLocation(getLocation().x, getLocation().y + (getHeight() - staticHeight));
        setSize(new Dimension(getWidth(), staticHeight));
        super.componentResized(e);
    }
});
Run Code Online (Sandbox Code Playgroud)

问题是,在调整窗口大小后调用代码.使窗口调整大小然后闪烁回来.

我想这样做当用户试图拖动窗口的高度时它什么都不做.

rad*_*dai 3

看起来你不能。有一个 setResizable() 方法,但它要么全有要么全无。
您可以尝试通过在 JDialog 内部使用布局来缓解此问题,以便无论 JDialog 高度如何,您的内容都保持相同的高度,
或者也许(更激进一点)将其设置为不可调整大小并实现您自己的鼠标监听器来调整自己的大小?这样你就可以完全控制