1

我正在构建动态 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 个固定大小的面板......但这似乎是一个丑陋的黑客......

4

1 回答 1

6

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

panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
于 2013-07-30T21:43:52.527 回答