ComfyJ is a Java software that provides a bridge between COM and Java, allowing Java applications to integrate with any COM/OLE/OCX/ActiveX library and expose Java objects as COM objects without the need for native code.

One of the notable features of ComfyJ is that it provides COM Interfaces and Data Types Wrappers that enable the programmer to work with COM types and interfaces as if they were normal Java objects. The library allows invoking methods of a COM object through function indexes in VTBL, or by their names using an Automation approach.
ComfyJ also offers an OleContainer Swing component that facilitates using any visual COM component in Java Swing UI, creating an embedded object using ProgID or CLSID, inserting a COM object into a container, and saving and loading an embedded OleObject.
On the Java-to-COM integration front, ComfyJ permits the creation of custom Java COM servers that can be exposed as COM objects to other COM applications, without having to write native code. The software provides the necessary wrappers for base COM interfaces and a way to integrate with custom COM interfaces.
In addition, ComfyJ enables the exposure of Java objects as COM objects using classes such as IUnknownServer and IDispatchServer. Any custom Java COM objects can inherit these classes and implement any base or custom COM interfaces according to their requirements.
ComfyJ is programmed to provide a convenient way to register Java COM servers in a system. This registration can be performed in real-time, such as COM event handling, or in a COM Registry using the ComfyJ ServerManager application.
Lastly, the CodeGenerator utility supplied with ComfyJ allows for the generation of Java COM wrappers for COM components or COM Type Libraries. The resulting code can be compiled and packed to a JAR file, depending on the specified options, making it easy for developers to work on their projects.
Version 2.13: N/A
Version 2.12: N/A