Swing中应该有多少空间控制应该有什么指导原则?还有一个关于如何实现这个问题的问题:一些版面管理人员支持控件之间的差距;有些则不需要,那么你必须使用EmptyBorder
--这也可能是一个痛苦,因为边界不重叠,最终可能会在两个控件之间留下太多空间 - 因此您可能需要忽略一个边界的一侧。Swing中的控制空间
接下来的另一个问题是外观和感觉:如果我使用明确的间隙或边界,它可能在一个LAF中看起来很好,但在另一个LAF中看起来很糟糕。例如,Nimbus看起来很好,按钮挤在一起,因为它们周围有额外的空间。默认的Windows LAF只是将它们放在一起而没有任何额外的空间。我意识到这个是本质上是一个平台问题,因为微软,苹果,Gnome和其他人all have different guidelines on that topic。
因此,如果我在控件之间放置额外的空间以适应Windows或Metal LAF,它会在Nimbus和其他可能的地方分得太多。
然后就是如何构建你的用户界面的问题,这对你的间距和边界有多灵活有着严重的副作用。从这个角度来看,将所有内容放在一个容器中的效果非常好,但是如果您仍然需要对UI进行更改,那很糟糕。然后,用合适的布局管理器从几个JPanel
构建UI。
总之:我怎样才能确保控制间隔很好,适合LAF,没有太多的麻烦?也许我只是在这里忽略了一些东西 - 与Swing的绝对大小并不是不可能的。
至少对我来说是一个问题 - 也许有是一个可行的解决方案。但考虑到将两个控件放在一起的简单情况,并且您希望它们周围有五个像素的空洞 - 之间它们也只有五个像素,而不是十个。我看不出在普通情况下如何设计这种方式,而不根据书写方向创建不同的边框(因为左右两边不一定是控件的位置,但显然总是在边框的位置)。
对不起,关于边界和插入的混乱,是的,我的意思是插入。那么多少空间是合适的?那么我该如何解决这样的问题:在另外一个LAF外观上看起来不错的间距看起来不错(因为一个不会在元件周围增加空间而另一个会增加空间)?如果LAF的目的是正确看待,那么几乎所有人都会做一件糟糕的工作。 – Joey 2010-06-19 12:43:21
我不知道有多少空间是合适的:我不是设计师。关于l&f,选择标准并与他们一起工作。如果用户选择另一个,则是用户责任。 – Istao 2010-06-19 13:18:52
\ o/hooray。指责用户糟糕的可用性听起来像是一种很好的处理这种情况的方式。我应该早点考虑一下。 – Joey 2010-06-19 15:01:07