package elte.java2_utikalauz5.swing; /** Mini webböngésző. A kezdeti oldal URL-jét a program egyetlen paramétereként kell megadni. A megjelenített oldal hyperhivatkozásait kiválasztva a hivatkozott oldal fog megjelenni. Persze itt valóban csak a lehető legegyszerűbb HTML böngészést várhatjuk el, tehát például sem a stíluslapok, sem a JavaScript támogatására ne számítsunk, viszont akár már ennyi is elég lehet egy HTML segítség vagy dokumentáció megjelenítéséhez. @link.forrásfájl {@docRoot}/../data/swing/src MiniBongeszo.java @link.letöltés {@docRoot}/../data/swing MiniBongeszo.jar @since Java 2 Útikalauz programozóknak */ public class MiniBongeszo { /** Program indítása. @param argumentumok Az indításkor megadott paraméterek. */ public static void main(String argumentumok[]) { if (argumentumok.length!=1) { System.out.println("Használat: java MiniBongeszo URL"); System.exit(1); } final javax.swing.JFrame ablak = new javax.swing.JFrame("MiniBöngésző: "+argumentumok[0]); javax.swing.JEditorPane böngész = null; try { böngész = new javax.swing.JEditorPane(argumentumok[0]);//kezdő oldal } catch (Exception e) { hiba(argumentumok[0], e); } böngész.setEditable(false); final javax.swing.JEditorPane böngésző = böngész; böngésző.addHyperlinkListener(new javax.swing.event.HyperlinkListener(){ /** Hiperlink kezelés. @param he Hiperlink esemény. */ public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent he) { if (he.getEventType()==javax.swing.event.HyperlinkEvent. EventType.ENTERED) böngésző.setCursor(java.awt.Cursor. getPredefinedCursor(java.awt.Cursor.HAND_CURSOR)); else if (he.getEventType()==javax.swing.event.HyperlinkEvent. EventType.EXITED) böngésző.setCursor(java.awt.Cursor. getDefaultCursor()); else if (he.getEventType()==javax.swing.event.HyperlinkEvent. EventType.ACTIVATED) try { //új oldal betöltése böngésző.setCursor(java.awt.Cursor.getDefaultCursor()); böngésző.setPage(he.getURL()); ablak.setTitle("MiniBöngésző: "+he.getURL()); } catch (Exception e) { hiba(he.getURL().toString(), e); } } }); ablak.addWindowListener(new java.awt.event.WindowAdapter() {//ablakzárás public void windowClosing(java.awt.event.WindowEvent we) { //kilépés System.exit(0); } }); ablak.setContentPane(new javax.swing.JScrollPane(böngésző)); ablak.setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize()); ablak.setVisible(true); } /** Hibakijelzés és kilépés. @param cím A hibát okozó webcím. @param e A fellépett kivétel. */ private static void hiba(String cím, Exception e) { System.err.println("Hiba a következő URL megjelenítésekor: "+cím); System.err.println(e.getMessage()); System.exit(-1); } }