使用Vaadin在浏览器视口中显示的AbstractComponent监听器

时间:2014-06-24 19:28:42

标签: java events containers vaadin visible

我在Vaadin中添加了几个布局组件,作为标签添加,执行耗时的操作以显示一些值。为了最小化计算时间,我希望仅在相关的面板/布局变得可见时才执行耗时的操作。我曾尝试过常见的事件听众,但他们并没有被解雇。在Swing中,我常常对此类事件做出反应。但是你怎么在Vaadin做到这一点?

    gridLayout.addComponentAttachListener(new ComponentAttachListener()
    {
        @Override
        public void componentAttachedToContainer(
                final ComponentAttachEvent event)
        {
            System.err.println("attach-listener-" + event);
        }
    });

    gridLayout.addLayoutClickListener(new LayoutClickListener()
    {
        @Override
        public void layoutClick(final LayoutClickEvent event)
        {
            System.err.println("layoutclick" + event);
        }
    });

实现延迟加载"非常重要。这些UI容器的内容。我确信我并不是唯一一个试图意识到这一点的人。你的方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您实际使用TabSheet,可以先在标签上添加空布局,然后收听tab selection change events。在那里,您可以通过昂贵的操作填充空白布局。