在JDialog中添加JPanel周围的空间?

时间:2013-07-30 21:34:28

标签: java swing jpanel border jdialog

我正在构建动态JDialog。我有一些JPanels,当你选择一个菜单选项我创建一个模态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个固定尺寸的面板......但这似乎是一个丑陋的黑客......

1 个答案:

答案 0 :(得分:5)

只需add an empty border到您的小组:

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