إنشاء متصفح ويب في جافا
هناك العديد من المكتبات في Java التي تسمح لك بعرض صفحة ويب، ولكن تم إيقاف معظمها قبل بضع سنوات. في هذه المقالة ، سنرى كيفية إنشاء متصفح وعرض محتوى موقع الويب.
يمكنك عرض صفحة ويب بثلاث طرق:
يمكنك عرض صفحة ويب بثلاث طرق:
- JEditorPane: مضمن في JRE ، ولكنه يعرض فقط صفحات HTML بسيطة.
- JWebBrowser: يدمج متصفح Internet Explorer.
- JxBrowser: يدمج متصفح Chromium ، وهو الطريقة الأكثر فعالية لأنه يسمح بعرض صفحات الويب الحديثة المصممة باستخدام HTML5 / CSS3 ، جافا سكريبت ، سيفرلايت ... الجانب السلبي الوحيد هو أنه يتم دفعه.
فئة JEditorPane
نمط JEditorPane يسمح لك بعرض محتوى HTML فقط ، JEditorPane مفيد عندما تريد فتح والتحكم في عرض ملفات HTML.
يوضح المثال التالي صفحة ويب HTML بسيطة بدون CSS.
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.*;
استيراد java.io.*;
import java.net.URL;
import java.awt.*;
من الفئة العامة JEditorTest {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
JEditorPane jep = JEditorPane الجديد ();
jep.setEditable(false);
jep.setBackground (Color.WHITE) ؛
jep.setBounds (316 ، 110 ، 598 ، 545) ؛
HTMLEditorKit kit = HTMLEditorKit الجديد ();
jep.setEditorKit(kit);
جرب {
jep.setPage (عنوان URL الجديد ("http://imss-www.upmf-grenoble.fr/prevert/Prog/Java/swing/JEditorPane.html"));
}
catch (IOException e) {
jep.setContentType("text/html");
jep.setText ("غير قادر على عرض الصفحة");
}
JScrollPane scrollPane = JScrollPane الجديد (jep) ؛
JFrame f = JFrame الجديد ();
// يتطلب السطر التالي Java 1.3
f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) ؛
f.getContentPane().add(scrollPane);
f.setSize (512 ، 342) ؛
f.show();
}
}
< / pre> الإخراج:
العرض الناتج ثابت ولا يمكنك فعل أي شيء سوى العرض. نريد أن نجعل الارتباطات التشعبية قابلة للنقر عن طريق ربط المستمع بالارتباطات التشعبية:jep.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
JEditorPane jepane = (JEditorPane)e.getSource();
try {
jepane.setPage(e.getURL());
}catch (IOException ex) {
jepane.setText("ERROR: "+ex.getMessage());
}
}
}
})؛ يتيح لك
< / pre>JEditorPane أيضا الحصول على المعلومات أو تحرير صفحة ويب.JWebBrowser
JWebBrowser هي مكتبة تسمح بالاندماج السهل في مكونات تطبيق Swing لإنشاء متصفح ويب يستورد Internet Explorer أو Mozilla على Windows و Mozilla على أنظمة التشغيل الأخرى. يجب أن يكون لديك أحدث إصدار من Internet Explorer مثبتا لتجنب تأخر المكونات وأوراق أنماط CSS.
يعتمد تطوير JWebBrowser على الأطر التالية و a تنفيذ SWT الذي يوفر مكونات غنية. يقدم JWebBrowser متصفحا غنيا يحتوي على مشغل فلاش ومشغل وسائط ومحرر HTML.
هنا هو الرابط ل تنزيل مكتبة JWebBrowser. يمكنك أيضا تنزيل التطبيق واختباره عبر الإنترنت. ici< / a>.
استخدام JWebBrowser بسيط للغاية كما هو موضح في الكود التالي:import java.awt.BorderLayout;
استيراد javax.swing.JComponent;
استيراد javax.swing.JFrame;
استيراد javax.swing.JPanel ؛
استيراد javax.swing.SwingUtilities;
استيراد chrriis.common.UIUtils;
استيراد chrriis.dj.nativeswing.swtimpl.NativeInterface ؛
استيراد chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;
الفئة العامة JWebBrowser {
JComponent createContent () {
JPanel contentPane = JPanel الجديد (تخطيط الحدود الجديد ()) ؛
JWebBrowser webBrowser = متصفح JWebBrowser الجديد ();
webBrowser.navigate("http://www.orange.fr");
contentPane.add (webBrowser) ؛
إرجاع المحتوىجزء ؛
}
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
NativeInterface.open ();
UIUtils.setPreferredLookAndFeel();
SwingUtilities.invokeLater (جديد Runnable () {
تشغيل الفراغ العام () {
إطار JFrame = JFrame الجديد ();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane () .add (createContent() ،
BorderLayout.CENTER) ؛
frame.setSize (800 ، 600) ؛
frame.setLocationByPlatform (صحيح) ؛
frame.setVisible (صحيح) ؛
}
})؛
NativeInterface.runEventPump ();
}
}
< / pre>< / a>< / div>
JxBrowser
JxBrowser هو واجهة برمجة التطبيقات الأكثر اكتمالا لأنه يدمج المتصفح Chromium وهو امتداد لمتصفح Chrome لنظام التشغيل Linux. يتكون JxBrowser مع سوينغ وجافا اف اكس، مما يجعل عرض صفحات الويب المصممة في HTML5 / CSS3، جافا سكريبت، Siverlight ... ممتاز وبدون أي مشاكل.
يتم دفع واجهة برمجة تطبيقات JxBrowser ومكلفة للغاية ، ولا يوصى بها إلا إذا كنت بحاجة إليها حقا وفي الشركات الكبيرة. يتم تقديم نسخة تجريبية لمدة شهر واحد ، فقط أدخل اسمك وعنوان بريدك الإلكتروني في أسفل الصفحة للحصول على مفتاح الترخيص.
هنا رابط JxBrowser download من موقعهم الرسمي. يمكنك أيضا تشغيل demo واختبر التطبيق.
يوضح الكود التالي استخدام JxBrowser.import java.awt.BorderLayout;
import javax.swing.JFrame;
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
الفئة العامة JxBrowserTest {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
متصفح المتصفح = متصفح جديد ();
عرض المستعرض = عرض المتصفح الجديد (المتصفح) ؛
إطار JFrame = JFrame جديد ();
frame.add (عرض ، BorderLayout.CENTER) ؛
frame.setSize (700 ، 500) ؛
frame.setVisible (صحيح) ؛
browser.loadURL("http://www.youtube.com");
}
}
< / pre>