3
有誰知道是否可以限制用戶調整JDialog的大小?JDialog允許用戶只更改對話框的寬度
我知道我可以調用方法setResizible(boolean),並禁用或使用戶可以調整JDialog的大小,但有沒有辦法限制用戶改變窗口的高度,但允許他改變寬度?
我創建的對話框看起來很有趣,如果它垂直增長,但水平增長的組件可能會對用戶有益。
在此先感謝。
有誰知道是否可以限制用戶調整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);
}
});
}
}
如果我的字體具有不同的度量標準,該怎麼辦?你使用什麼佈局? – trashgod
根本就沒有想到它 - 沒有什麼比可見區域下面的按鈕不可調整的對話更糟糕 – kleopatra