是否可以用 Java 为用 C# 编写的应用程序编写用户界面?
我正在开发一个用 C# 编写的项目的用户界面,但我没有使用 C# 的经验,而且我是一个狂热的 Java 用户。是否可以使用 Java 的 Swing 和 AWT 库在 Java 中构建用户界面,这些库操作主要用 C# 编写的应用程序。
如果这听起来像一个非常愚蠢的问题,我提前道歉。
是否可以用 Java 为用 C# 编写的应用程序编写用户界面?
我正在开发一个用 C# 编写的项目的用户界面,但我没有使用 C# 的经验,而且我是一个狂热的 Java 用户。是否可以使用 Java 的 Swing 和 AWT 库在 Java 中构建用户界面,这些库操作主要用 C# 编写的应用程序。
如果这听起来像一个非常愚蠢的问题,我提前道歉。
您也许可以利用集成到 Mono 2.0 中的一些互操作性功能
http://www.mono-project.com/Main_Page
JNBridge 是另一种可能的互操作性解决方案:
但是,更理想的方法可能是将您的 .NET 代码公开为服务 - 然后从 Java 客户端(或通过轻量级 ESB)访问它们。
当然,时间、预算、资源是您必须考虑的限制因素。
我们最近这样做了,并采用了使用低级套接字连接的路线,但通过它推送 xml。C# 是服务器端,我们使用 Microsoft 的“xsd”工具为对象生成 XSD 模式,然后在 java 端使用 JAXB 生成 java 代码来解析和保存相同的对象。
正如 Barry 提到的,大部分工作/问题都与套接字连接有关——但这取决于您对此的适应程度。
除了http://www.jnbridge.com(专有),您还可以尝试http://www.janetdev.org - .NET 平台的 Java 5 SE JDK 环境的开源实现。目前它仅支持 .Net 3.5(不支持 Mono)。
此外,对于交叉编译您的 java 以在 CLR 中运行的解决方案:http ://www.ikvm.net/
我是jni4net的作者,它是 JVM 和 CLR 之间的开源进程间桥梁。它建立在 JNI 和 PInvoke 之上。无需 C/C++ 代码。我希望它会帮助你。