嗨,我正在使用导航窗口和类视图为我们的应用程序创建菜单栏,它工作正常,但是当我在菜单栏中添加子菜单时,它显示错误说
SEVERE: Terminal error:
java.lang.IllegalStateException: Composition root must be set to non-null value before the com.vaadin.incubator.spring.ui.Reference2 can be painted
at com.vaadin.ui.CustomComponent.paintContent(CustomComponent.java:125)
我的代码就像
for (final Class viewClass : new Class[] { Trade.class, Position.class,
Cash.class, Recon.class, Price.class, Accounting.class,
Reference.class, Report.class, }) {
navigator.addView(viewClass.getSimpleName(), viewClass);
if (viewClass.getSimpleName().equals("Price")) {
MenuBar.MenuItem Price = menu.addItem("Price", null);
for (final Class viewClasssubmenu : new Class[] {
PriceActivity.class, ViewPrice.class, }) {
navigator.addView(viewClasssubmenu.getSimpleName(),
viewClasssubmenu);
Price.addItem(viewClasssubmenu.getSimpleName(),
new MenuBar.Command() {
public void menuSelected(MenuItem selectedItem) {
// TODO Auto-generated method stub
navigator.navigateTo(viewClasssubmenu);
}
});
}
} else if (viewClass.getSimpleName().equals("Recon")) {
if (viewClass.getSimpleName().equals("Recon")) {
MenuBar.MenuItem Recon = menu.addItem("Recon", null);
for (final Class viewClasssubmenu : new Class[] {
Recon1.class, Recon2.class, }) {
navigator.addView(viewClasssubmenu.getSimpleName(),
viewClasssubmenu);
Recon.addItem(viewClasssubmenu.getSimpleName(),
new MenuBar.Command() {
public void menuSelected(
MenuItem selectedItem) {
// TODO Auto-generated method stub
navigator.navigateTo(viewClasssubmenu);
}
});
}
}
} else if (viewClass.getSimpleName().equals("Reference")) {
if (viewClass.getSimpleName().equals("Reference")) {
MenuBar.MenuItem Reference = menu
.addItem("Reference", null);
for (final Class viewClasssubmenu : new Class[] {
Reference1.class, Reference2.class, }) {
navigator.addView(viewClasssubmenu.getSimpleName(),
viewClasssubmenu);
Reference.addItem(viewClasssubmenu.getSimpleName(),
new MenuBar.Command() {
public void menuSelected(
MenuItem selectedItem) {
// TODO Auto-generated method stub
navigator.navigateTo(viewClasssubmenu);
}
});
}
}
} else {
menu.addItem(viewClass.getSimpleName(), new MenuBar.Command() {
public void menuSelected(MenuItem selectedItem) {
navigator.navigateTo(viewClass);
}
});
}
}
return w;
}
任何人在导航类中帮助我查看如何添加子菜单项?如果你提供我的例子,这对我会有很大的帮助..