Я хотел бы использовать Panel в качестве содержимого для моего пользовательского интерфейса, а не окна, но я все же хотел бы иметь часть заголовка, которая существует в классе Window. Итак, я попробовал это, но он не работает идеально:
@Theme("mytheme")
@CDIUI("")
public class MyUI extends UI {
@Inject
private CDIViewProvider provider;
@Override
protected void init(VaadinRequest request) {
Navigator navigator = new Navigator();
navigator.addProvider(provider);
navigator.navigateTo("mypanel");
}
}
Затем в моем классе MyPanel я установил заголовок как панель, подобную этой;
@CDIView("mypanel")
public class MyPanel extends com.vaadin.ui.Panel implements View {
@Inject
private MySubPanel mySubPanel;
@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
FormLayout layout = new FormLayout();
Panel headerPanel = new Panel();
headerPanel.addStyleName("header-panel");
layout.addComponent(headerPanel);
layout.addComponent(mySubPanel);
this.setContent(layout);
}
}
И, наконец, в mytheme.css
у меня есть следующее:
@import "../valo/valo.scss";
@mixin mytheme {
// some scss code
}
.header-panel {
height: 50px;
width: 100%;
background: red repeat-x;
margin: 0px;
padding-top: 0px;
}
headerPanel
отображается с правильными размерами и цветом фона, но это все еще небольшое пустое белое пространство над панелью и слева от нее. Как убрать эту маржу?