3.7. Widget Wrapper

Für die meisten Widget Schnittstellen existieren Wrapper Klassen, welche es ermöglichen, von einem Widget abzuleiten und eigene Funktionen hinzuzufügen. Die Wrapper befinden sich im Packet org.jowidgets.tools.widgets.wrapper. Die folgenden Wrapper sind derzeit vorhanden:

Die Implementierung eines Wrappers ist immer nach dem gleichen Schema aufgebaut. Das folgende Beispiel zeigt den ComboBoxWrapper:

  1  package org.jowidgets.tools.widgets.wrapper;
  2  
  3  import java.util.Collection;
  4  import java.util.List;
  5  
  6  import org.jowidgets.api.widgets.IComboBox;
  7  import org.jowidgets.util.IObservableValue;
  8  
  9  public class ComboBoxWrapper<VALUE_TYPE> 
 10      extends InputControlWrapper<VALUE_TYPE> 
 11      implements IComboBox<VALUE_TYPE> {
 12  
 13      public ComboBoxWrapper(final IComboBox<VALUE_TYPE> widget) {
 14          super(widget);
 15      }
 16  
 17      @Override
 18      protected IComboBox<VALUE_TYPE> getWidget() {
 19          return (IComboBox<VALUE_TYPE>) super.getWidget();
 20      }
 21  
 22      @Override
 23      public IObservableValue<VALUE_TYPE> getObservableValue() {
 24          return getWidget().getObservableValue();
 25      }
 26  
 27      @Override
 28      public List<VALUE_TYPE> getElements() {
 29          return getWidget().getElements();
 30      }
 31  
 32      @Override
 33      public void setElements(final Collection<? extends VALUE_TYPE> elements) {
 34          getWidget().setElements(elements);
 35      }
 36  
 37      // ... removed some methods in example
 38  
 39      @Override
 40      public boolean isPopupVisible() {
 41          return getWidget().isPopupVisible();
 42      }
 43  
 44  }

Falls für eine Widget Schnittstelle noch kein Wrapper existiert, kann ein solcher also einfach selbst erstellt werden[8].



[8] Patches mit solchen Erweiterungen werden dankbar angenommen und integriert.


Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation