【发布时间】:2016-05-05 13:36:19
【问题描述】:
当我单击子窗口中的最大化或最小化按钮时,子窗口中Calendar 组件的大小不会展开或缩小以适应子窗口的大小。
所以我必须单击随机按钮或组合框以使 vaadin 日历组件完全适合子窗口。
以下是显示我的问题的图片:
打开子窗口的代码:
Window abonWindow = new Window("Abonma");
abonWindow.setImmediate(true);
abonWindow.setHeight("450px");
abonWindow.setWidth("700px");
abonWindow.setModal(true);
abonWindow.setContent(new AddAbonma(abonWindow));
UI.getCurrent().addWindow(abonWindow);
我使用以下代码在 子窗口 中添加所有组件:
mainLayout = new AbsoluteLayout();
mainLayout.setImmediate(true);
mainLayout.setWidth("100%");
mainLayout.setHeight("100%");
setWidth("100.0%");
setHeight("100.0%");
initCalendar();
initLayoutContent();
initSettingPopupview();
panel_criteria = buildPanel_criteria();
mainLayout.addComponent(panel_criteria, "right:0.0px;top:0.0px;left:0.0px;");
mainLayout.addComponent(calendarComponent, "right:0.0px;top:70.5px;bottom:0px;left:0.0px;");
initCalendar代码:
calendarComponent.setLocale(new Locale("sl","SL"));
calendarComponent.setImmediate(true);
calendarComponent.setHeight("100%");
calendarComponent.setWidth("100%");
这是我在 SubWindow 的构造函数中的所有代码,我还把 addWindowModeChangeListener 放在里面:
buildMainLayout();
setCompositionRoot(mainLayout);
initGui(window);
window.addWindowModeChangeListener(new WindowModeChangeListener() {
@Override
public void windowModeChanged(WindowModeChangeEvent event) {
System.out.println("AddAbonma WindowMode");
if(calendarComponent!=null){
calendarComponent.markAsDirtyRecursive();
}
}
});
这种方法适用于表格,但不适用于 vaadin 日历组件。
那么当用户点击最大化或最小化按钮时,如何扩展或缩小 vaadin 日历组件以适应 子窗口?
【问题讨论】:
标签: java calendar resize window vaadin