[java] faire son navigateur

faire son navigateur [java] - Java - Programmation

Marsh Posté le 10-05-2004 à 21:51:24    

Bonjour,
je voudrais savoir s'il est possible de faire en java un petit navigateur web (qui permet juste de lire les applets) sans barre d'adresse, de favoris, un browser que je lancerais depuis une console avec  

Citation :

java monNav http://www.monSite.com


 
Merci pour vos réponses.
++

Reply

Marsh Posté le 10-05-2004 à 21:51:24   

Reply

Marsh Posté le 10-05-2004 à 22:21:06    

Oui, c'est possible.
 
Attention, je suis un gros bourrin ce soir.
 

Code :
  1. /*
  2. * Copyright (c) 2003 Sun Microsystems, Inc. All  Rights Reserved.
  3. *  
  4. * Redistribution and use in source and binary forms, with or without
  5. * modification, are permitted provided that the following conditions
  6. * are met:
  7. *  
  8. * -Redistributions of source code must retain the above copyright
  9. *  notice, this list of conditions and the following disclaimer.
  10. *  
  11. * -Redistribution in binary form must reproduct the above copyright
  12. *  notice, this list of conditions and the following disclaimer in
  13. *  the documentation and/or other materials provided with the distribution.
  14. *  
  15. * Neither the name of Sun Microsystems, Inc. or the names of contributors
  16. * may be used to endorse or promote products derived from this software
  17. * without specific prior written permission.
  18. *  
  19. * This software is provided "AS IS," without a warranty of any kind. ALL
  20. * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
  21. * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
  22. * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT
  23. * BE LIABLE FOR ANY DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT
  24. * OF OR RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR ITS
  25. * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
  26. * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
  27. * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
  28. * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN
  29. * IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  30. *  
  31. * You acknowledge that Software is not designed, licensed or intended for
  32. * use in the design, construction, operation or maintenance of any nuclear
  33. * facility.
  34. */
  35. /*
  36. * @(#)MetalworksHelp.java 1.10 03/01/23
  37. */
  38. import javax.swing.*;
  39. import java.awt.*;
  40. import java.net.URL;
  41. import java.net.MalformedURLException;
  42. import java.io.*;
  43. import javax.swing.text.*;
  44. import javax.swing.event.*;
  45. /*
  46. * @version 1.10 01/23/03
  47. * @author Steve Wilson
  48. */
  49. public class MetalworksHelp extends JInternalFrame {
  50.  
  51.     public MetalworksHelp() {
  52. super("Help", true, true, true, true);
  53.         setFrameIcon( (Icon)UIManager.get("Tree.openIcon" )); // PENDING(steve) need more general palce to get this icon
  54. setBounds( 200, 25, 400, 400);
  55. HtmlPane html = new HtmlPane();
  56. setContentPane(html);
  57.     }
  58. }
  59. class HtmlPane extends JScrollPane implements HyperlinkListener {
  60.     JEditorPane html;
  61.     public HtmlPane() {
  62. try {
  63.     File f = new File ("HelpFiles/toc.html" );
  64.     String s = f.getAbsolutePath();
  65.     s = "file:"+s;
  66.     URL url = new URL(s);
  67.     html = new JEditorPane(s);
  68.     html.setEditable(false);
  69.     html.addHyperlinkListener(this);
  70.     JViewport vp = getViewport();
  71.     vp.add(html);
  72. } catch (MalformedURLException e) {
  73.     System.out.println("Malformed URL: " + e);
  74. } catch (IOException e) {
  75.     System.out.println("IOException: " + e);
  76. }
  77.     }
  78.     /**
  79.      * Notification of a change relative to a  
  80.      * hyperlink.
  81.      */
  82.     public void hyperlinkUpdate(HyperlinkEvent e) {
  83. if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
  84.     linkActivated(e.getURL());
  85. }
  86.     }
  87.     /**
  88.      * Follows the reference in an
  89.      * link.  The given url is the requested reference.
  90.      * By default this calls <a href="#setPage">setPage</a>,
  91.      * and if an exception is thrown the original previous
  92.      * document is restored and a beep sounded.  If an  
  93.      * attempt was made to follow a link, but it represented
  94.      * a malformed url, this method will be called with a
  95.      * null argument.
  96.      *
  97.      * @param u the URL to follow
  98.      */
  99.     protected void linkActivated(URL u) {
  100. Cursor c = html.getCursor();
  101. Cursor waitCursor = Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR);
  102. html.setCursor(waitCursor);
  103. SwingUtilities.invokeLater(new PageLoader(u, c));
  104.     }
  105.     /**
  106.      * temporary class that loads synchronously (although
  107.      * later than the request so that a cursor change
  108.      * can be done).
  109.      */
  110.     class PageLoader implements Runnable {
  111. PageLoader(URL u, Cursor c) {
  112.     url = u;
  113.     cursor = c;
  114. }
  115.         public void run() {
  116.     if (url == null) {
  117.  // restore the original cursor
  118.  html.setCursor(cursor);
  119.  // PENDING(prinz) remove this hack when  
  120.  // automatic validation is activated.
  121.  Container parent = html.getParent();
  122.  parent.repaint();
  123.     } else {
  124.  Document doc = html.getDocument();
  125.  try {
  126.      html.setPage(url);
  127.  } catch (IOException ioe) {
  128.      html.setDocument(doc);
  129.      getToolkit().beep();
  130.  } finally {
  131.      // schedule the cursor to revert after
  132.      // the paint has happended.
  133.      url = null;
  134.      SwingUtilities.invokeLater(this);
  135.  }
  136.     }
  137. }
  138. URL url;
  139. Cursor cursor;
  140.     }
  141. }

Reply

Marsh Posté le 11-05-2004 à 09:44:50    

merci bien mais je ne capte pas trop comment l'utiliser!
Si tu avais juste un exemple d'utilisation, ca serait bien sympas.
 
J'ai un pb avec l'url, il ne peut pas y acceder, il me met d:/xxxxxxx/http://www.monapplijava.net/jeu.php au lieu de http://www.monapplijava.net/jeu.php  
++


Message édité par ohan le 11-05-2004 à 09:50:55
Reply

Marsh Posté le 11-05-2004 à 09:52:00    

Simple petite question : tu connais l'applet viewer, livré avec le J2SE ?

Reply

Marsh Posté le 11-05-2004 à 09:59:03    

si je connais et j'ai déjà essayé mais le problème, c'est que mes liens (sur des JButton) ne fonctionnent pas!

Reply

Marsh Posté le 11-05-2004 à 09:59:35    

J'ai résolu le pb d'adresse mais il ne lance rien du tout :(

Reply

Marsh Posté le 11-05-2004 à 10:24:05    

Et pourtant, c'est sur à à peu près 100 000 % qu'il fonctionne.

Reply

Marsh Posté le 11-05-2004 à 10:35:27    

El_gringo a écrit :

Et pourtant, c'est sur à à peu près 100 000 % qu'il fonctionne.


 
[:quoted]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 11-05-2004 à 10:42:42    

ohan a écrit :

J'ai résolu le pb d'adresse mais il ne lance rien du tout :(


 
T'es sur que le problème vient pas de tes bouttons? Tu as essayé d'afficher "toto" dans l'écouteur?
Tu devrais avoir un erreur, quelque chose, quoi...  :sweat:

Reply

Marsh Posté le 11-05-2004 à 12:41:06    

Quand je teste depuis mozilla (ou ie), je n'ai aucun pb avec les boutons, je vais voir si c'est un pb de boutons alors ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed