Navigator Ayuda plz, dejo pequeño codigo.

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:

Resuelto :slight_smile: