سؤال

ما المكتبات/الأساليب التي تعرفها والتي يمكنها القيام ببعض تمثيلات HTML الأساسية في Swing؟هل يمكنك التعليق على تجربتك؟

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

المحلول

يمكن للعديد من عناصر التحكم Swing (مثل JLabel) عرض محتوى HTML الأساسي. JEditorPane يمكن استخدامها لعرض صفحات HTML.ومع ذلك، تقتصر هذه الضوابط على أتش تي أم أل 3.2 يدعم.

للحصول على تجربة أكثر ثراءً، سأستخدم مكونات التكامل JDesktop.

يوفر JDIC تطبيقات Java الوصول إلى الوظائف والمرافق التي يوفرها سطح المكتب الأصلي.يتكون من مجموعة من حزم وأدوات Java.يدعم JDIC مجموعة متنوعة من الميزات مثل تضمين المتصفح الأصلي، تشغيل تطبيقات سطح المكتب ، وإنشاء أيقونات الدرج على سطح المكتب ، وتسجيل جمعيات نوع الملف ، وإنشاء حزم تثبيت JNLP ، إلخ.

نصائح أخرى

حل جافا النقي الجيد هو JWebEngine.إنه يجعل HTML 4 جيدًا جدًا.

لم أجرب هذا منذ فترة، ولكن البحث السريع في جوجل يظهر بعض الاحتمالات:

هل تحاول القيام بذلك في تطبيق صغير أو تطبيق؟إذا كان تطبيقًا (أو برنامجًا صغيرًا موقّعًا)، فمن المحتمل أن تقوم بإنشاء مثيل لـ IE أو Firefox داخل التطبيق الخاص بك. ويبندرر بمثابة المجمع سوينغ لهذا الغرض.

يحتوي Swing على مكون مدمج يسمى HTML الأساسي.لم أستخدمها أبدًا، ولكن أعتقد أنها يجب أن تكون كافية للأشياء الأساسية.

لقد كانت هذه تاريخياً نقطة ضعف رئيسية في Java وIMO.هناك العديد من الطرق لعرض العلامات المحدودة، لكن القليل منها يوفر إمكانات HTML كاملة الميزات.يعد مكون JDIC المذكور سابقًا أحد الخيارات، إلا أنه يعتبر مكونًا "ثقيل الوزن" وبالتالي لا يتكامل دائمًا بشكل جيد مع تطبيقات Swing.

ومع ذلك، آمل أن يعتمد Webkit الجديد على JWebPane سيوفر المشروع إمكانات أكثر تقدمًا دون كل المشكلات التي كان علينا التعامل معها في الماضي.وبالطبع هناك العديد من الخيارات التجارية أيضًا (متصفح الجليد جيد جدًا كمثال).

لقد استخدمت للتو SwingBox لعرض صفحة HTML بسيطة للغاية، مع نتائج جيدة.

يتضمن المشروع تطبيقًا تجريبيًا بسيطًا يقارن بينه BrowserPane مكون ل JEditorPane, ، مما يعرض نتيجة أفضل بكثير على الصفحات المعقدة (ولكنها لا تزال غير قابلة للمقارنة مع متصفح الويب الحديث).

المشكلة الوحيدة التي أواجهها تتعلق بأشرطة التمرير غير المرغوب فيها من الغلاف JScrollPane.يبدو أن التطبيق التجريبي لديه نفس المشكلة.لا أستطيع أن أقول أين تنشأ المشكلة.أنا أستخدم الإصدار 1.0.

فيما يلي جزء من التعليمات البرمجية لإظهار مدى سهولة استخدام المكون:

BrowserPane browserPane = new BrowserPane();
JScrollPane scrollPane = new JScrollPane(browserPane);
someContainer.add(scrollPane);

browserPane.setText("<html><b>Some HTML here</b></html>");
// or...
browserPane.setPage(new URL("http://en.wikipedia.org"));

جاء عبر لوبو متصفح الويب جافا في ذلك اليوم.

يتم تطوير Lobo بشكل نشط بهدف تقديم الدعم الكامل لـ HTML 4 وJavascript وCSS2.

ليس لدي خبرة في ذلك بالرغم من ذلك، ولكن أعتقد أنه قد يناسب الفاتورة بالنسبة لك.

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