2014-11-22 74 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