2012-08-01 95 views
1

在此网站的左上角有一个带有下拉布局的StackExchange按钮。如果你点击它,它会打开,如果你点击其他地方,它是隐藏的。 在给定按钮和布局的vaadin应用程序中是否可以创建一个类似的组合?在vaadin中隐藏/展开布局

两个条件:

  1. 知道从代码布局(隐藏或显示)的状态(这就是为什么要使用JavaScript是不恰当的)。

  2. 按钮应该展开和隐藏布局,点击上的其他区域应该只隐藏它(与此处的StackExchange按钮相同)。

有没有人知道解决方案?非常感谢。

回答

1

两个posibilities:

本地Vaadin:PopupView。这是Vaadin采样器中的example of using it。无法控制弹出窗口的放置,并且显示弹出窗口不能由视图本身以外的其他任何东西控制。

Vaadin附加组件:Overlays允许您覆盖任何组件(例如,布局)相对于其他组件,可以通过一个seaprate组件(例如按钮)来控制

+0

原来,PopupView不是很好这个目的是因为在内容不隐藏原始按钮时双击它会引发异常,所以内容应该总是隐藏按钮。叠加也不能解决这个问题。 – Sergey 2012-08-02 11:44:20

+0

PopView本身不会在外部双击时引发异常。请参阅http://demo.vaadin.com/sampler#PopupViewClosing,然后选择第二个示例;双击侧面=>没有例外。 – 2012-08-02 15:25:05

+0

那里有一个按钮“默认弹出”。如果弹出窗口内容没有隐藏该按钮,并且我点击该按钮,则抛出异常。在演示中,弹出式内容隐藏了按钮,因此我无法再次单击它。 – Sergey 2012-08-03 03:10:20