![]() |
1
2
我将把我的投票定为“不”,至少对“自动”和“别看起来那么丑陋”的定义有足够的区别。 这绝对是一个常见的问题:仅去年一年,我想我的至少三个同事就提出过类似的要求。不幸的是,我不知道任何自动布局解决方案都不需要重要的指导(例如在XUI中指定布局)才能工作。 显然,您可以做一些简单的事情来使自动生成的组件更容易组合,例如标准化标签和内容的宽度和高度。还有一些启发式方法可以帮助您应用,例如按控件类型对属性进行排序,以便所有组合框组合在一起,所有文本字段组合在一起,等等。 然而,好的图形用户界面布局是很困难的,即使是人类程序员也常常表现得很差。这就是为什么没有人开发出一个通用的自动布局工具,不需要指定很多关于如何显示自动生成的控件的附加信息,我对此并不感到惊讶。 |
![]() |
2
2
有很多GUI框架为“属性视图”提供了“解决方案”,在重新发明控制盘之前,您可能想看看它们。如果你已经看到了他们并且认为他们很差劲,我道歉:) 这里是一个 PDF 对于Jide One,它也显示了NetBeans和JBuilder。 |
![]() |
3
0
我想你可以用 XUI 提到XML中的小部件,很好的一点是它还允许指定XML中的布局。这些正是我推荐使用XUI的地方,尽管他们声称XUI可以用于构建整个应用程序,我否认。同时,作为Swing的一个常见的Xui标准,它也使您的项目更加标准化。 |
![]() |
4
0
我建议使用注释驱动GUI框架的方法。例如,通过这种方式,后端对象可以声明哪些属性最重要,并且应该显示在UI的顶部(或“简单”UI中,或选项卡式对话框的第一个选项卡上,或其他地方)。您还可以使用它覆盖框架中默认情况下提供的自动检测的小部件,或者声明验证器等。 有了这类信息,您的框架就可以应用各种启发式方法来动态地设计更友好的对话框。而且,您的插件作者基本上可以设计自己的对话框,至少是用大笔画,而不必编写任何UI代码。 |
![]() |
5
-1
一个建议:如果属性是以点分隔的层次结构格式命名的,则可以动态构建
这样,至少你不会在同一个屏幕上显示大量信息…尽管缺点是,您的GUI最终看起来像regedit:-) 编辑属性时,可以使用反射来确定属性的类型,从而确定适用的单元格编辑器;例如。
|