Estimado, agradeceria de su ayuda, si bien ya puedo usar navigator… me falta un pequeño detalle
que es manetener fijo el menu superior… dejo mis codigos.
MyUI.java
package com.vaadin.ricardo.proyecto.crud_vaadin;
import com.vaadin.ricardo.proyecto.views.CiudadView;
import com.vaadin.ricardo.proyecto.views.UsuarioView;
import javax.servlet.annotation.WebServlet;
import com.vaadin.annotations.Theme;
import com.vaadin.annotations.VaadinServletConfiguration;
import com.vaadin.annotations.Widgetset;
import com.vaadin.navigator.Navigator;
import com.vaadin.ricardo.proyecto.views.MainView;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinServlet;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
@Theme("mytheme")
@Widgetset("com.vaadin.ricardo.proyecto.crud_vaadin.MyAppWidgetset")
public class MyUI extends UI {
public Navigator nav=new Navigator(this,this);
@Override
protected void init(VaadinRequest vaadinRequest) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
run();
}
public void run(){
nav.addView("", MainView.class);
nav.addView(MainView.NAME, MainView.class);
nav.addView(CiudadView.NAME, CiudadView.class);
nav.addView(UsuarioView.NAME, UsuarioView.class);
}
public void setNav(String url){
nav.navigateTo(url);
}
@WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
public static class MyUIServlet extends VaadinServlet {
}
}
MainView:
package com.vaadin.ricardo.proyecto.views;
import com.vaadin.navigator.View;
import com.vaadin.navigator.ViewChangeListener;
import com.vaadin.ricardo.proyecto.crud_vaadin.MyUI;
import com.vaadin.ui.Label;
import com.vaadin.ui.MenuBar;
import com.vaadin.ui.MenuBar.Command;
import com.vaadin.ui.MenuBar.MenuItem;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;
public class MainView extends VerticalLayout implements View {
public static final String NAME = "main";
public MainView() {
this.setSpacing(true);
MenuBar menu = new MenuBar();
MenuItem mnuArchivo = menu.addItem("Archivo", null);
MenuItem mnuModulo = menu.addItem("Modulo", null);
MenuItem mnuCiudad = mnuModulo.addItem("Ciudad", null);
MenuItem mnuUsuario = mnuModulo.addItem("Usuario", null);
menu.setSizeFull();
this.addComponent(menu);
Panel p=new Panel("MI CONTENIDO");
p.setContent(new Label("Content...."));
this.addComponent(p);
mnuCiudad.setCommand(new Command() {
@Override
public void menuSelected(MenuItem selectedItem) {
MyUI.getCurrent().getNavigator().navigateTo("ciudad");
}
});
mnuUsuario.setCommand(new Command() {
@Override
public void menuSelected(MenuItem selectedItem) {
MyUI.getCurrent().getNavigator().navigateTo("usuario");
}
});
}
@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
}
}
CiudadView:
package com.vaadin.ricardo.proyecto.views;
import com.vaadin.navigator.View;
import com.vaadin.navigator.ViewChangeListener;
import com.vaadin.ui.Label;
import com.vaadin.ui.VerticalLayout;
public class CiudadView extends VerticalLayout implements View{
public static final String NAME="ciudad";
public CiudadView(){
Label lbTitulo=new Label("Modulo Ciudad");
this.addComponent(lbTitulo);
}
@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
}
}
UsuarioView: