[英]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.