سؤال

هل يمكنني وضع التحكم جافا (سبحانه وتعالى, البديل, ...) في C# السيطرة ؟

أنا أعلم أنه من الممكن مع عناصر التحكم على شبكة الإنترنت ولكن أنا لا أحب هذه الطريقة.

هل كانت مفيدة؟

المحلول

لقد فحصها أنه يبدو IKVM حاليا لم يكن ما يكفي من الدعم في الخلف الجمعية.أعتقد أن الطريقة الوحيدة أن تفعل ما عليك هو تشغيل يمكنك التحكم جافا داخل عملية منفصلة مع إخفاء النافذة الرئيسية و تمرير مقبض التحكم الخاص بك C# التطبيق بطريقة أو بأخرى.


الجواب الأصلية:

أنا لست متأكدا مما إذا كان يمكنك فقط "إضافة" ، ولكن يمكنك أن تجرب هذا الاتجاه:

سيكون من الضروري تحويل فئات java .صافي الجمعيات عبر IKVM.

  1. أولا وقبل كل ما تحتاج إلى الحصول على مقبض التحكم جافا.يمكنك أن تبحث في هذا المنصب إذا كنت بحاجة إلى معلومات حول كيفية القيام بذلك.لقد فشلت في هذه الخطوة لأنني لم أجد Win32DrawingSurface و DrawingSurfaces في IKVM المكتبات ربما يكفي أن مجرد خلق بعض ساكنة getHandle() الأسلوب على جافا الجانب.

  2. الحصول على مقبض والديك C# التحكم.انها بسيطة منذ سيطرة يكون التعامل مع المنشأة.

  3. بعد الحصول على كل من يتعامل يمكنك تعيين واحد من الوالد إلى آخر.للقيام بذلك تحتاج إلى الاتصال SetParent وظيفة من WINAPI.

    [DllImport("user32.dll")] private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

نصائح أخرى

وكتبت الأمثلة على ذلك:
- مكون جافا تضمينها في. NET واجهة المستخدم الرسومية،
- صافي WinForm مكون التضمين في جاوة واجهة المستخدم الرسومية.
يمكنك العثور عليها في هذه المنتجات:

http://www.simtel.net/product فب [معرف] 95126 [SiteID] simtel.net
http://www.simtel.net/product فب [معرف] 98653 [SiteID] simtel.net

ويمكنك استخدام JNBridge للقيام بذلك.

http://www.jnbridge.com/jnbp-examples.htm#JinN

وتحقق من IKVM المشروع. في آلة جافا الافتراضية تنفيذها في الصافي الذي يسمح جافا وصافي إمكانية التشغيل المتداخل.

ولست متأكدا بالضبط كيف كاملة كما هي، وإذا تمكن من الوظائف التي تتطلب تحفظات قيمته نظرة.

إذا كان عنصر التحكم غير عنصر تحكم مخصص وليس مجرد شيء في أرجوحة قد تجد أنه متاح في مايكروسوفت البصرية J # (إما الإصدار 2.0 أو تكميلية إضافة ل 1.1 http://msdn.microsoft.com/en-us/vjsharp/bb188695. ASPX )

لاحظ أن عنصر تحكم # سوينغ J لن يلعب انخفضت الكرة في التطبيق WinForms عناصر مباشرة، قد تحتاج إلى توفير عنصر تحكم المضيف الذي مندوبين عن اللوحة لنسخ صورة من مخفي J # التحكم في وضعها داخل نموذج # ي بسيط (الخفية أيضا حيث يتم تغيير حجم مساحة عرض النموذج لتتناسب مع المنطقة نظرا لسيطرة المضيف. وهذا من شأنه على الأقل إزالة الحاجة إلى عملية منفصلة. هذا الاستخدام لديها العديد من القيود، وأظن أن التحكم الذي تريد استخدام معقدة (أو تفضلتم فقط ول Reimplemented ذلك).

لاحظ أن J # تحتضر رسميا (أي أكثر جدية الصيانة)، وسوف لا يزعج رسميا لتقديم الدعم لها على الإطلاق في عام 2015. نتوقع استخدامه لتسبب لك الألم كبيرا على المدى الطويل ولكن إذا كنت حقا بحاجة الى بعض جزء منه هذا قد يساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top