繁体   English   中英

Java - Swing - JOptionPane填充

[英]Java - Swing - JOptionPane padding

从我的主要表单我想显示一个新表单。

打开新表单时,需要将其视为子项,因为单击父项会将子项提前焦点。 JFrames显然不是模态的,所以我使用:

JOptionPane.showOptionDialog(null, MYPANEL, "Title", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, new Object[]{}, null);

...... MYPANEL在我的表格中看起来与我需要的相同。

除了在面板边缘和JOptionPane对话框框架之间有填充(大约20px左右)之外,它按预期工作100%。

我怎么能摆脱这个?

将面板的边框设置为空边框,其中0作为尺寸没有任何改变。

将面板的边框设置为空边框,其中0作为尺寸没有任何改变。

您需要设置对话框的内容窗格的边框。 不知道它是否适用于所有LAF,但您可以将以下内容用于Metal和Windows:

UIManager.put("OptionPane.border", new EmptyBorder(0, 0, 0, 0) );

有关更多信息,请参阅UIManager默认值

这将更改所有选项窗格的属性。 因此,您可能希望保存默认边框,创建选项窗格,然后还原原始边框以创建其他选项窗格。

也许另一种选择是将ContainerListener添加到面板。 然后你可以处理componentAdded(...)事件。 生成事件后,您可以获取父面板并删除边框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM