2009-09-21 14 views
7

संभव डुप्लिकेट:
Is there a way to embed a browser in Java?एम्बेड ब्राउज़र आधारित डेस्कटॉप अनुप्रयोग

मैं एक जावा आधारित डेस्कटॉप अनुप्रयोग में एक ब्राउज़र कैसे एम्बेड कर सकते हैं? क्या मैं सीधे एम्बेडेड ब्राउज़र के साथ संवाद कर सकता हूं (स्थानीयहोस्ट के माध्यम से नहीं ... जैसे कि HTML टेक्स्ट लोड करना, ऑनक्लिक ईवेंट कैप्चर करना, फॉर्म मान प्राप्त करना?

धन्यवाद

+0

क्या आप एक वास्तविक एम्बेडेड ब्राउज़र चाहते हैं, या आप HTML पृष्ठों को प्रोग्रामेटिक रूप से नेविगेट करना चाहते हैं? – skaffman

+0

मई चेकआउट करना चाहते हैं https://github.com/rogerwang/node-webkit – jrhicks

उत्तर

6

बाहर की जांच ग्रहण, यह (एक एम्बेडेड ब्राउज़र जो उपयोगकर्ता द्वारा कॉन्फ़िगर है वे समर्थन एकाधिक ब्राउज़रों)।

यदि आप AWT_SWT पुल का उपयोग करके एडब्ल्यूटी आधारित एप्लिकेशन का उपयोग करते हैं तो भी आप शायद अपने ब्राउज़र को एम्बेड कर सकते हैं।

यह article आपको प्रारंभ करने में मदद कर सकता है।

+0

क्या इसका स्टैंड अकेला संस्करण है? –

3

आप एक बहुत आदिम ब्राउज़र JEditorPane का उपयोग कर बना सकते हैं। आप Hyperlink ईवेंट सुन सकते हैं, लेकिन जावास्क्रिप्ट या फॉर्म मान प्राप्त करना संभव नहीं है।

6

स्विंग जेडडिटर फलक HTML प्रदर्शित करने में सक्षम है।

चेक http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JEditorPane.html

भी में यहाँ इस विषय से एक अधिक विस्तृत जवाब है:

https://stackoverflow.com/questions/48249/java-embedding-a-web-browser-pane

+0

एसओ लिंक जेडबपेन का सुझाव देता है, लेकिन आप जेडडिटर का सुझाव देते हैं। मुझे नहीं लगता कि वे एक ही बात हैं। लिंक के लिए धन्यवाद, मैं दोनों की जांच करूंगा। – jrhicks

2

Lobo एक जावा वेब ब्राउज़र है जिसे स्विंग अनुप्रयोगों में एम्बेड किया जा सकता है।

यह एचटीएमएल 4, सीएसएस 2 और जावास्क्रिप्ट का समर्थन करता है, जो JEditorPane की तुलना में अधिक अद्यतित है जो केवल HTML 3.2 का समर्थन करता है।

संभव है कि कुछ विचारों के लिए, Lobo Browser API documentation को लोबो के साथ क्या करना संभव है इसका एक विचार प्रदान करना चाहिए। विशेष रूप से, org.lobobrowser.gui में BrowserPanel कक्षा है जो JPanel का उप-वर्ग है, इसलिए इसे सीधे स्विंग अनुप्रयोगों में एम्बेड किया जा सकता है।

उदाहरण के लिए, BrowserPanel.navigate विधि का उपयोग वेब पृष्ठों पर जाने के लिए किया जा सकता है, और कई Listener एस हैं जो ब्राउज़र में होने वाली घटनाओं को कैप्चर कर सकते हैं।

+0

मूल लोबो प्रोजेक्ट मृत लगता है। यहां एक कांटा है: https://sourceforge.net/projects/loboevolution/ – Stefan

1

आप JxBrowser पुस्तकालय की कोशिश कर सकते: http://www.teamdev.com/jxbrowser/features/

उदाहरण अपने जावा स्विंग अनुप्रयोग में मोज़िला ब्राउज़र एम्बेड करने के लिए आप बस निम्नलिखित कोड क्या करने की जरूरत के लिए:

Browser browser = BrowserFactory.createBrowser(BrowserType.Mozilla); 

JFrame frame = new JFrame(); 

frame.add(browser.getComponent(), BorderLayout.CENTER); 
frame.setSize(700, 500); 
frame.setLocationRelativeTo(null); 
frame.setVisible(true); 

browser.navigate("http://www.google.com"); 
+2

यह उपयोग करने के लिए स्वतंत्र नहीं है:/ – mikakun

+0

FYI: ओपन सोर्स प्रोजेक्ट्स के लिए यह मुफ़्त है। – Vladimir

+0

अद्यतन: 4.0 संस्करण जेक्सब्रोसर केवल मैक ओएस एक्स, लिनक्स और विंडोज सहित सभी प्लेटफार्मों पर क्रोमियम इंजन के साथ एकीकृत करता है। – Vladimir

संबंधित मुद्दे