创建Swing GUI时,如何才能最好地选择用于分离组件的水平和垂直间隙?像Windows Layout Look and Feel这样的问题,但与平台无关。
一般来说,我只使用了5个像素来处理所有内容,这在Windows经典主题中看起来很合理,但在Windows 8下运行时看起来有些奇怪,特别是当有多个嵌套容器组件时(例如Dialog - > TabbedPane - > ScrollPane )。
我看过UIDefaults,但似乎没有任何关于组件间距的提示(我希望找到至少一些可用作提示的值,但LayoutManagers似乎通常使用硬编码的deafults,例如FlowLayout使用硬编码的5像素间距。)
我可以采取哪些方法使我的布局更具外观和感觉(我通常使用系统外观)?
答案 0 :(得分:0)
如果您想要更改一些组件的布局以适合您的用户平台,那么可能只需使用用户的系统外观:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
编辑以提供指定更具体差距的解决方案。
要指定组件之间的边距和填充,您可以尝试使用box layout。您可能不需要在整个Swing代码中使用框布局,也可能在添加接受Swing组件的组件之前使用实用程序功能,以及左上角和下边距/填充。然后,此函数将返回一个带有框布局的JPanel,边框/填充通过,并包含一个组件,即您传入的组件。