Vaadin SliderPanel没有显示

时间:2016-08-30 17:47:20

标签: java vaadin

我在我的项目中使用了Vaadin插件SliderPanelhttps://vaadin.com/directory#!addon/sliderpanel),并且很难让它消失并重新出现在正确的视图中。当我加载应用程序并登录时,它正确地将我带到正确的类/页面'Dashboard',没有SliderPanel。当我导航到任何其他应该重新显示SliderPanel的类/页面时,它不会按预期显示。为了让我能够展示它,我必须调整窗口大小。当我调整窗口大小然后返回“仪表板”页面时,会发生同样的事情......我必须调整窗口大小,并且SliderPanel选项卡会消失。使用导航器更改视图时,如何让SliderPanel选项卡自动更新?

在我的UI中,我在主类上方注释了 @push()

@Push()
public class EvoltwebUI extends UI implements ClickListener {...}

在类中我有这些注释和servlet类:

@WebServlet(value = "/*", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = EvoltwebUI.class, widgetset = "com.evolt.evoltweb.widgetset.EvoltwebWidgetset")

public static class Servlet extends VaadinServlet {
}

我已经注册了这样的观点:

private void registerViews() {
        navigator.addView("dashboard", DashboardViewImpl.class);
        navigator.addView("groups", GroupsViewImpl.class);
        navigator.addView("research", ResearchViewImpl.class);
        navigator.addView("reporting", ReportsViewImpl.class);
        navigator.addView("execution", AdhocExecView.class);
        navigator.addView("tcreview", TestCaseReviewView.class);
        navigator.addView("toolbox", ToolboxView.class);
    }

每个视图/类的'enter'方法如下所示:

@Override
public void enter(ViewChangeEvent event) {
    presenter.onViewEnter(event.getParameters());
    generateFields();
    ProgressPanel.setViewName("Test Case Review - Please load a group from the Test Group Explorer Slider Panel on the left.");
    evoltWebUI.getTreeViewSlider().defaultTab();
}

我尝试过使用这些,但是如果setVisible为false,我会遇到相同类型的问题。 :

leftTreeViewSlider.setVisible(true);
leftTreeViewSlider.setVisible(false);

我也尝试过扩展SliderPanel以访问选项卡的实际大小以缩小它,但是当将其设置回正常大小时,我必须调整窗口大小才能恢复它。

import org.vaadin.sliderpanel.SliderPanel;
import org.vaadin.sliderpanel.SliderPanelBuilder;    
import com.vaadin.ui.Component;

public class SliderPanelMod extends SliderPanel{

    public SliderPanelMod(SliderPanelBuilder builder) {
        super(builder);

    }

    public void resizeTab(int t) {
        this.getState().tabSize = t; 
    }

    public void defaultTab() {
        resizeTab(40);

    }

}

有没有人有任何想法会导致这个?

0 个答案:

没有答案