Man hat natürlich sehr viele Möglichkeiten der Anbindung des GTK an Java. Viele müssen allerdings an irgendeiner Stelle auf JNI aufsetzen, sonst kann man eine C-Bibliothek nicht direkt verwenden.
Also:
- Anbindung an Java mittels JNI:
· Direkt (Threads!) · mit Peer-Klassen (-> AWT) · "Marshalling" (sehr lose Koppelung)
- Anbindung an Java ganz ohne JNI:
· Toolkit als "Server" in einem eigenen (seperaten) Prozess · alle Aufrufe sind dann letztlich RPCs (bzw. RMI, JDO, CORBA)
Die aktuelle Test-Implementierung verwendet den ersten Ansatz (JNI) + Marshalling, dabei ist die Verwendung von JNI auf ein Minimum reduziert.