JDialog 允许用户仅更改对话框的宽度

2023-12-03

有谁知道是否可以限制用户调整 JDialog 大小的方式?

我知道我可以调用方法 setResizible(boolean) 并禁用或允许用户调整 JDialog 的大小,但是有没有办法限制用户更改窗口的高度但允许他更改宽度?

如果我创建的对话框垂直增长,那么它看起来很有趣,但水平增长的组件可能会给用户带来好处。

提前致谢。


你可以添加一个ComponentListener到 JDialog,然后签入componentResized如果身高改变。这可以通过以下方式扩展 JDialog 类来实现:

public class Dialog extends javax.swing.JDialog {

    public Dialog(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        final int h = getHeight();
        addComponentListener(new ComponentAdapter() {

            @Override
            public void componentResized(ComponentEvent e) {
                Rectangle b = getBounds();
                if (b.height != h) {
                    b.height = h;
                    setBounds(b);
                }
                super.componentResized(e);
            }
        });
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JDialog 允许用户仅更改对话框的宽度 的相关文章

随机推荐