在JDialog中的JPanel周围添加空间



我正在构建动态的JDialogs。我有一些JPanel,当你选择菜单选项时,我会创建一个模态JDialog,添加一个JPanel并显示它:

JDialog dlg = new JDialog(this, title, true);
dlg.getContentPane().add(panel);
dlg.pack();
dlg.setLocationRelativeTo(null);
dlg.setVisible(true);

我的应用程序运行良好,但JDialog的边界和添加的面板之间没有空间,看起来非常"满/伸"(对不起,我不知道该怎么说)。也许问题是我正在调用JDialog.pack(),但在运行时我不知道面板的大小,所以我创建了没有维度的JDialog,添加内容后我将其打包。

我的问题是:我该怎么做才能在面板周围增加一些空间?

一个可能的解决方案是添加一个BorderLayout,将面板放在中心,每侧4个固定大小的面板。。。但这似乎是一个丑陋的黑客。。。

只需在面板中添加一个空边框:

panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));

最新更新