2008-10-27 7 views
6

Czy można łatwo osadzić formanty ActiveX w aplikacji Java? Czy warto. W następnym projekcie powinienem albo użyć istniejącego ActiveX w aplikacji Java, albo zreimplementować wszystko od zera, więc zastanawiam się, co będzie mniej kłopotów.Activex z aplikacji java?

Odpowiedz

10

Nie sądzę, że istnieje sposób, aby to zrobić bez uciekania się do biblioteki stron trzecich. (Lub toczenia własne, ale powiedziałeś "łatwo".)

SWT ("Standardowy zestaw narzędzi widget") zawiera wsparcie dla osadzania formantów ActiveX. SWT jest alternatywą dla Swing, chociaż istnieje między nimi pewien stopień interoperacyjności.
Here's Przykład osadzenia programu Windows Media Player w oknie SWT.

Alternatywnie istnieje projekt Jacob, chociaż sam tego nie użyłem.

Co do "czy warto?" Cóż, z doświadczenia mogę powiedzieć, że SWT czyni to względnie łatwym, ale jeśli twoja aplikacja nie poradzi sobie z brakiem ich dostępności, polegając na komponentach COM, tracisz możliwość uruchamiania na wielu platformach, co sprawia, że ​​Java jest atrakcyjna przede wszystkim .

4

To naprawdę zależy od tego, ile będziesz musiał ponownie wprowadzić. The Jacob project jest całkiem niezły (używamy go do automatyzacji Excela i Worda), ale musisz naprawdę zrozumieć COM, aby go użyć, szczególnie kaprysy interfejsu IDispatch (bardzo mało osób, które używają ActiveX/COM rzeczywiście rozumieją COM - polegają tylko na generowaniu szablonów Microsoftu).

Jeśli próbujesz po prostu zaoszczędzić sobie trochę pisania dla prostych obiektów DAO, prawdopodobnie lepiej będzie je ponownie zastosować (heck, prawdopodobnie mógłbyś wziąć DTD i napisać skrypt, by wygenerował dla niego kod Java) .