Jan 17

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 ‘nspe mii de plugin-uri.
Iata un exemplu minimal :

import javax.swing.event.HyperlinkEvent;
import javax.swing.*;
import java.io.*;
import javax.swing.event.HyperlinkListener;

public class SimpleWebBrowser {
static JEditorPane jep = new JEditorPane();
public static void main(String[] args) {

String initialPage = “http://www.google.ro/”;
if (args.length > 0) initialPage = args[0];

jep.setEditable(false);

jep.addHyperlinkListener(new HyperlinkListener() {

public void hyperlinkUpdate(HyperlinkEvent e) {
try {
jep.setPage(e.getURL());
} catch (IOException ex) {
Logger.getLogger(SimpleWebBrowser.class.getName()).log(Level.SEVERE, null, ex);
}
}
});

try {
jep.setPage(initialPage);
}
catch (IOException e) {
System.err.println(”Usage: java SimpleWebBrowser url”);
System.err.println(e);
System.exit(-1);
}

JScrollPane scrollPane = new JScrollPane(jep);
JFrame f = new JFrame(”Simple Web Browser”);
f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
f.getContentPane().add(scrollPane);
f.setSize(512, 342);
f.show();

}

}

Si iata cum ar arata “miniborwser-ul”

Tagged with:
preload preload preload