home *** CD-ROM | disk | FTP | other *** search
/ Online Praxis 1998 March / Image.iso / CD-ROM / HOMEPAGE / JAVA / ICE40.EXE / examples / demo2.java < prev    next >
Encoding:
Java Source  |  1998-03-01  |  1.9 KB  |  77 lines

  1. // ICE Browser - an extended example illustrating some finer points
  2.  
  3. import ice.htmlbrowser.Browser;
  4. import java.awt.*;
  5. import java.awt.event.*;
  6.  
  7. public class demo2 extends demo1 
  8.     implements MouseListener {
  9.  
  10.     public static void main(String args[]) {
  11.         Frame d = new demo2("http://www.icesoft.no");
  12.         d.setSize(500,300);
  13.         d.show();
  14.     }
  15.  
  16.     public demo2(String loc) {
  17.         super(loc);
  18.         pup = new NavPopup(iceBrowser);
  19.         add(pup);
  20.         iceBrowser.addMouseListener(this);
  21.     }
  22.  
  23.     protected PopupMenu pup;
  24.  
  25.     // MouseListener interface (for trapping mice) 
  26.  
  27.     /**
  28.       * UNIX and Win95 popupTrigger behave differently, so
  29.       * we need to handle this in processMouseEvent() (which
  30.       * we cant do here) or in both mousePressed and mouseReleased
  31.       */
  32.     private void processPopup(MouseEvent e) {
  33.         if (e.isPopupTrigger()) {
  34.             Object o = e.getSource();
  35.             if (o instanceof Component)
  36.                 pup.show((Component)o, e.getX(), e.getY());
  37.         }
  38.     }
  39.  
  40.     public void mousePressed(MouseEvent e) {
  41.       processPopup(e);
  42.     }
  43.  
  44.         public void mouseClicked(MouseEvent e) { }
  45.         public void mouseReleased(MouseEvent e) { 
  46.       processPopup(e);
  47.     }
  48.         public void mouseEntered(MouseEvent e) { }
  49.         public void mouseExited(MouseEvent e) { }
  50. }
  51.  
  52. class NavPopup extends PopupMenu implements ActionListener {
  53.     MenuItem back = new MenuItem("Back");
  54.     MenuItem fwd = new MenuItem("Fwd");
  55.     MenuItem reload = new MenuItem("Reload");
  56.  
  57.     public NavPopup(Browser browser) {
  58.         super("Navigation");
  59.         add(back);
  60.         add(fwd);
  61.         add(reload);
  62.         addActionListener(this);
  63.         this.browser = browser;
  64.     }
  65.  
  66. // ActionListener Interface
  67.     public void actionPerformed(ActionEvent e) {
  68.         String cmd = e.getActionCommand();
  69.         if ("Back".equals(cmd)) browser.goBack();
  70.         else if ("Fwd".equals(cmd)) browser.goForward();
  71.         else if ("Reload".equals(cmd)) browser.reload();
  72.     }
  73.  
  74.     private Browser browser;
  75. }
  76.  
  77.