有谁知道是否可以限制用户调整JDialog的大小?
我知道我可以调用方法setResizible(boolean)并且禁用或允许用户调整JDialog的大小,但有没有办法限制用户更改窗口的高度但允许他更改宽度?
我正在创建的对话框看起来很有趣,如果它垂直增长但水平增长组件可能对用户有利。
提前致谢。
答案 0 :(得分:3)
您可以向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);
}
});
}
}