有谁知道是否可以限制用户调整 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/