2011-04-08 88 views
1

我花费大量时间来定位Vaadin组件,并想知道在开发自己的Vaadin应用程序时,其他人的经验是什么时候布局它们的GUI。无法准确定位Vaadin组件

回答

4

关于CSS定位:

我的经验/知识作为前Vaadin核心开发人员,目前Vaadin应用设计/开发人员,你不应该使用CSS触及部件的定位,除非您使用CssLayout或CustomLayout。

在这些布局中,您几乎可以做任何CSS允许的事情(Vaadin会为包含的组件添加一些内联大小,请注意您),但对于其他核心布局,我建议您不要尝试使用任何花哨的技巧你知道布局系统的内部工作情况:)

对于核心布局的选项,请参阅DashLayout和WeeLayout附加组件,它们提供了CSS样式方面的一些额外自由度。

但是,如果您正在使用Java API定位组件,那么请澄清一下您在哪里花费大量时间。

+0

我修改CSS的一个问题是它似乎是Vaadin的一部分,可能会随着Vaadin 7和更高版本发生变化。或者Vaadin 7中的CSS布局保持不变? – Zubair 2011-04-14 08:08:58

+1

如果我有意愿,Vaadin 7中的CSS部分肯定会发生变化:) 您可以阅读我在此计划的一些想法:http://dev.vaadin.com/wiki/Vaadin7/Proposals/ ThemingImprovements – Jouni 2011-04-15 12:19:00

+0

好的,谢谢,很好阅读:) – Zubair 2011-04-15 18:44:09

1

来自桌面世界AbsoluteLayout使用像素位置和大小已证明是非常直接的方式来做组件布局。

这是一个在纯Java版式和强大的web风格版式机制之间有点折衷,你可以用CssLayoutCustomLayout得到,但是你应该通过巧妙地混合这些机制来实现它。

+0

虽然AbsoluteLayout在处理不同的浏览器大小时如何提供帮助? – Zubair 2011-04-14 08:08:07

1

我只使用CSS风格的背景部分组件或面板...
我的应用程序的主要布局通常看起来像AddressBook演示,有时看起来像iTunes。 (使用一些分割面板,扩展比例或网格布局)
而且我使用了很多窗口(几乎每次都使用呼叫中心())。
我曾经担心组件树的深层次结构,导致很难在组件之间进行通信。但随着BlackBoard插件,现在很容易。
我发现this一些有趣的事情,但从来没有时间去尝试。
而我正在考虑实现一些声明性表单/表字段工厂(使用xml)。
imho,用vaadin开发是如此的快乐......

+0

网上有解释Vaadin如何使用黑板的资源吗? – Zubair 2011-04-13 18:48:37

+1

黑板无助于处理组件布局或位置(因此,如果您为布局找到解决方案,那不是)......但是当组件数量很多时(我们必须将它们放在不同的布局或面板),黑板帮助我们处理事件监听者在这些组件之间的通信。看看黑板的[wiki](https://github.com/wolfie/Blackboard/wiki/) – 2011-04-13 19:06:42