gpt4 book ai didi

java - JDialog 允许用户只改变对话框的宽度

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:00:14 27 4
gpt4 key购买 nike

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

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

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

提前致谢。

最佳答案

您可以向 JDialog 添加一个 ComponentListener,并在高度改变时检查 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);
}
});
}
}

关于java - JDialog 允许用户只改变对话框的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023633/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com