It can be a strange little dance to interoperate between Java, .NET and C++ on the desktop. George Lawton outlines elements of a session that Wayne Citrin and Robert Bell presented on desktop interoperability at this year's JavaOne conference.
Most of the ways of integrating components together can be done in both directions, enabling developers to integrate Microsoft components into Java applications and vice-versa. Citrin said that at the moment, they have identified ways of integrating AWT and SWT components with Windows components, but more work needs to be done to support the integration of Swing components.
Of course, bridging has merits too.