2008-10-27 52 views
6

是否可以在Java應用程序中輕鬆嵌入ActiveX控件?這值得麼。在我的下一個項目中,我應該在Java應用程序中使用現有的activex,或者必須從頭開始重新實現所有的東西,所以我想知道什麼會減少麻煩。從Java應用程序的ActiveX?

回答

10

我不認爲有辦法做到這一點,而不訴諸第三方庫。 (或滾動你自己的,但你確實說「很容易」。)

SWT(「標準小工具工具包」)包含對嵌入ActiveX控件的支持。 SWT是Swing的替代品,儘管它們之間存在一定程度的互操作性。
Here's將Windows Media Player嵌入SWT窗口的示例。

另外還有Jacob項目,雖然我沒有使用過自己。

至於「值得嗎?」嗯,我可以從經驗中得知SWT使它相對容易,但除非您的應用程序能夠妥善處理沒有可用的應用程序,否則依靠COM組件,您將失去在多個平臺上運行的能力,從而使Java首先具有吸引力。

4

這實際上取決於你將不得不重新實施多少。 Jacob project是相當不錯的(我們廣泛使用它來自動化Excel和Word),但是您必須真正瞭解COM使用它,尤其是IDispatch接口的變幻莫測(很少有人使用ActiveX/COM實際上理解COM - 他們只依靠微軟的模板生成)。

如果您只是想爲一些簡單的DAO對象保存一些輸入信息,那麼重新實現可能會更好一些(heck,您可能需要使用DTD並編寫腳本來爲其生成Java代碼) 。