<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tara Andrei &#187; web broser</title>
	<atom:link href="http://www.andreitara.com/tag/web-broser/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andreitara.com</link>
	<description>a developer&#039;s blog</description>
	<lastBuildDate>Sun, 18 Jul 2010 17:46:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Web browser in 2 pasi</title>
		<link>http://www.andreitara.com/2009/01/web-browser-in-2-pasi/</link>
		<comments>http://www.andreitara.com/2009/01/web-browser-in-2-pasi/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 21:26:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[others]]></category>
		<category><![CDATA[java web browser]]></category>
		<category><![CDATA[web broser]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=79</guid>
		<description><![CDATA[Recent intr-un proiect am avut nevoie de un web browser propriu. In loc sa folosesc un activeX de Internet Explo(r/d)er am ales sa imi constriuesc propria componenta din mai multe considerente:  in primul rand proiectul era in Java si  nu doream sa folosesc JNI (java native interface- pentru cei care nu sunt familiarizati [...]]]></description>
			<content:encoded><![CDATA[<p>Recent intr-un proiect am avut nevoie de un web browser propriu. In loc sa folosesc un activeX de Internet Explo(r/d)er am ales sa imi constriuesc propria componenta din mai multe considerente:  in primul rand proiectul era in Java si  nu doream sa folosesc JNI (java native interface- pentru cei care nu sunt familiarizati cu termenul in doua cuvinte este vorba de o tehnologie ce va permite sa accesati cod nativ din programele de java.)  si al doilea motiv era ca nu aveam nevoie de un web browser foarte complex care sa suporte &#8216;nspe mii de plugin-uri.<br />
Iata un exemplu minimal :</p>
<p>import javax.swing.event.HyperlinkEvent;<br />
import javax.swing.*;<br />
import java.io.*;<br />
import javax.swing.event.HyperlinkListener;</p>
<p>public class SimpleWebBrowser {<br />
static JEditorPane jep = new JEditorPane();<br />
public static void main(String[] args) {</p>
<p>String initialPage = &#8220;http://www.google.ro/&#8221;;<br />
if (args.length &gt; 0) initialPage = args[0];</p>
<p>jep.setEditable(false);</p>
<p>jep.addHyperlinkListener(new HyperlinkListener() {</p>
<p>public void hyperlinkUpdate(HyperlinkEvent e) {<br />
try {<br />
jep.setPage(e.getURL());<br />
} catch (IOException ex) {<br />
Logger.getLogger(SimpleWebBrowser.class.getName()).log(Level.SEVERE, null, ex);<br />
}<br />
}<br />
});</p>
<p>try {<br />
jep.setPage(initialPage);<br />
}<br />
catch (IOException e) {<br />
System.err.println(&#8221;Usage: java SimpleWebBrowser url&#8221;);<br />
System.err.println(e);<br />
System.exit(-1);<br />
}</p>
<p>JScrollPane scrollPane = new JScrollPane(jep);<br />
JFrame f = new JFrame(&#8221;Simple Web Browser&#8221;);<br />
f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);<br />
f.getContentPane().add(scrollPane);<br />
f.setSize(512, 342);<br />
f.show();</p>
<p>}</p>
<p>}</p>
<p>Si iata cum ar arata &#8220;miniborwser-ul&#8221;</p>
<p><a href="http://www.andreitara.com/wp-content/uploads/2009/01/untitled2.jpg"><img title="untitled2" src="http://www.andreitara.com/wp-content/uploads/2009/01/untitled2-300x186.jpg" alt="" width="300" height="186" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2009/01/web-browser-in-2-pasi/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
