2016-07-17 6 views
0

Wie in Vaadin 7 zu überprüfen, ob Scrollbar sichtbar oder nicht für eine bestimmte Komponente ist zum Beispiel für PanelVaadin 7, wie zu überprüfen, ob Scrollbar sichtbar ist oder nicht

+0

Ich glaube nicht, es ist möglich, mit Vaadin sofort loszulegen, aber Sie könnten etwas JavaScript ausführen, siehe [hier] (https://vaadin.com/docs/-/part/framework/advanced/advanced-javascript.html) und [ hier] (http://Stackoverflow.com/a/4814526/1063673). Aber warum müssen Sie wissen, ob Bildlaufleisten sichtbar sind? –

+0

Ich verwende die https://github.com/alump/GridStack-Komponente und möchte die Größe jeder an GridStack angehängten Komponente entsprechend ihrem Inhalt anpassen. Im Moment habe ich keine andere Lösung als die Test-Scrollbar-Sichtbarkeit – alexanoid

Antwort

1

Jede Implementierung von AbstractClientConnector kann mit AbstractExtension erweitert werden: https://vaadin.com/api/com/vaadin/server/AbstractExtension.html

eine Erweiterung ist eine Möglichkeit, die Funktionalität Ihrer Komponente zu erweitern: https://vaadin.com/docs/-/part/framework/gwt/gwt-extension.html

Hinzufügen von Funktionen zu bestehenden Komponenten durch die Erweiterung ihnen durch Vererbung schafft ein Problem, wenn Sie eine solche kombinieren möchten f Eigenschaften. Zum Beispiel könnte ein Add-On eine Rechtschreibprüfung zu einem TextField hinzufügen, während ein anderes eine clientseitige Validierung hinzufügen könnte. Die Kombination solcher Zusatzfunktionen wäre schwierig, wenn nicht gar unmöglich. Vielleicht möchten Sie auch ein Feature zu mehreren oder sogar zu allen Komponenten hinzufügen, aber die Erweiterung durch Vererbung ist nicht wirklich eine Option. Vaadin enthält einen Komponenten-Plug-In-Mechanismus für diese Zwecke. Solche Plug-Ins werden einfach Erweiterungen genannt.

In der clientseitige Erweiterung Implementierung Sie Ihre benutzerdefinierten GWT-Code schreiben können wie folgt (Pseudocode):

@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); 
     } 
    }); 
} 

Passing Ereignisse zwischen Server und Client: https://vaadin.com/docs/-/part/framework/gwt/gwt-rpc.html

Verwandte Themen