2014-11-22 41 views
0

这些是我用java的第一步,我拿走了grails和vaadin插件。我想和菜单栏导航简单的应用程序,所以我有一些Vaadin例如: http://demo.vaadin.com/sampler-for-vaadin6#BasicMenuBar如何使用Vaadin菜单栏导航页面?

创造了一些命令:

edit.addItem("Cut1", menuCommand1); 
edit.addItem("Cut1", menuCommand1); 

每个命令只画表从另一个例子:

http://demo.vaadin.com/sampler-for-vaadin6#TableHeaderIcons

不幸的是,每次点击菜单项时,它都会在另一张桌子下绘制一张桌子,但是我期待的是绘制每张桌子来代替上一张桌子。 如何做到这一点?

+0

也许你将项目保存在数据库中,然后更新为新的?尝试在放置新对象之前删除所有内容。 – cyan 2014-11-22 11:41:48

+0

虽然许多事情仍然适用于vaadin6采样器中的vaadin7,但您可能会更好地从新采样中挑选示例/代码/灵感http://demo.vaadin.com/sampler/ – cfrick 2014-11-22 12:32:09

回答

0

vaadin的UI存储为服务器上的状态(在会话中)。如果你添加了几个物品,他们会留下,除非删除所以例如如果你想替换表格,你有两个选项。要么removeAllComponents,然后添加新的或者如果你拥有原始表格,那么你可以在包装布局中设置replaceComponent(很可能是VerticalLayout?)。

如果表只是应该改变内容,那么你最好改变/修改表的dataSource。

+0

我是否需要创建我的菜单栏我点击菜单中的某些东西? – marek 2014-11-23 18:27:25

+0

否,菜单栏将成为状态的一部分(除非当然,您将菜单栏添加到与表格相同的布局,现在您在该布局上调用removeAllComponents)。 – cfrick 2014-11-23 18:30:46

+0

我认为公共无效replaceComponent(组件oldComponent, 组件newComponent)是一种方式去,我只需要弄清楚如何存储“最后选择的组件”。 – marek 2014-11-23 20:04:38