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

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