Reputation: 31
Hi I m using navigation window and class view to create menu bar for our application it works fine,but when i m added submenu inside the menu bar it showing error saying like
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)
my code is like
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;
}
Any one help me out in navigation class viwes how to add submenu items ?if you provide me exaple it will be great help for me..
Upvotes: 0
Views: 1723
Reputation: 2118
This may not have anything to do with the menu. The error says that there is a CustomComponent (i.e. "composite" in Vaadin language) that you have extended that has not a set the composition root component. Maybe it is one of your view classes?
Anyway, you should set that in the constructor of the component to make sure that one exists on rendering time. See this for details and example: http://vaadin.com/book/-/page/components.customcomponent.html
Upvotes: 2