Jedes Jo Widget liefert mit Hilfe der folgenden Methode die native UI Referenz:
Object getUiReference();
Der Typ hängt dabei von der verwendeten SPI Implementierung ab.
Für Basis Widgets ist dies
in der Regel das direkte native Pendant, also zum Beispiel unter
Swing ein JPanel für ein
IComposite, ein JButton
für ein IButton und so weiter. Es gibt jedoch
Ausnahmen, so liefert eine ITable unter Swing
ein JScrollPane welches eine
JTable enthält und unter Swt eine
org.eclipse.swt.widget.Table. Im Zweifelsfall
sollte man einfach in der aktuellen SPI Implementierung
nachschauen, oder es mittels
getClass().getName() ausprobieren.
Composite Widgets liefern
meist ein JPanel für Swing und ein
org.eclipse.swt.widget.Composite für Swt,
aber auch hier gibt es Ausnahmen.
Man erhält als UI Referenz immer das native Root Widget, welches
von der Spi für die Erzeugung des Widget angelegt wurde. Dadurch
ist immer eindeutig, wo die native Widget Hierarchie für das Jo
Widget beginnt. Für die Swing SPI Implementierung wäre es also
nicht zulässig, die JTable als UI Referenz
zurückzugeben. Will man eine Referenz auf die zugehörige
JTable haben, kann man diese aus dem
JScrollPane herausholen.