Vaadin 7如何检查滚动条是否可见

时间:2016-07-17 10:35:07

标签: vaadin vaadin7

如果某个组件的滚动条可见或不显示,如何检查Vaadin 7,例如Panel

1 个答案:

答案 0 :(得分:1)

AbstractClientConnector的任何实现都可以使用AbstractExtension扩展:https://vaadin.com/api/com/vaadin/server/AbstractExtension.html

扩展程序是扩展组件功能的可能方式:https://vaadin.com/docs/-/part/framework/gwt/gwt-extension.html

  

通过继承扩展功能向现有组件添加功能会在您想要组合这些功能时产生问题。例如,一个加载项可以向TextField添加拼写检查,而另一个可以添加客户端验证。如果不是不可能的话,组合这些附加功能将是困难的。您可能还想为几个甚至所有组件添加一个功能,但通过继承扩展所有功能实际上并不是一个选项。 Vaadin包含用于这些目的的组件插件机制。这些插件简称为扩展。

在客户端扩展实现中,您可以编写自定义GWT代码,如下所示(伪代码):

@Override
protected void extend(ServerConnector target) {
    // Get the extended widget
    final Widget widget = ((ComponentConnector) target).getWidget();

    // register RPCs
    YourServerRpcImplementation serverRpc = getRpcProxy(YourServerRpcImplementation.class); // client to server
    registerRpc(YourClientRpcImplementation.class, this); // server to client, unused in this example

    // add listener and update server state
    Window.addResizeHandler(new ResizeHandler() {
        @Override
        public void onResize(ResizeEvent event) {
            boolean scrollbarVisible = widget.getElement().getScrollHeight() > widget.getElement().getClientHeight();
            serverRpc.yourEventMethod(scrollbarVisible);
        }
    });
}

在服务器和客户端之间传递事件:https://vaadin.com/docs/-/part/framework/gwt/gwt-rpc.html