home *** CD-ROM | disk | FTP | other *** search
/ The Net: Ultimate Internet Guide / WWLCD1.ISO / pc / java / desvs7nu / src / jannetoolbartest2.java < prev    next >
Encoding:
Java Source  |  1996-08-14  |  22.9 KB  |  568 lines

  1.  
  2.  
  3. /** 
  4.  * Applet to test JanneToolbar class, using inline xpm data.
  5.  *
  6.  * This applet uses a sub-class of JanneButton to create buttons
  7.  * that handles URL's.
  8.  *
  9.  */
  10. import java.awt.*;
  11. import java.awt.image.*;
  12. import java.net.URL;
  13. import java.net.MalformedURLException;
  14. import java.applet.Applet;
  15.  
  16. /**
  17.  * URLButton is a sub-class of JanneButton to handle an URL connected
  18.  * with the button.
  19.  */
  20. class URLButton extends JanneButton {
  21.    Applet applet;        // applet used
  22.    String urlString;        // URL string
  23.    String infoString;        // Info. string
  24.  
  25.    /**
  26.     * Construct button
  27.     */
  28.    URLButton(Applet applet, Image image, String label,
  29.          String url, String info) {
  30.       super(image, label, 2, 2, false, true);
  31.       this.applet = applet;
  32.       urlString = url;
  33.       infoString = info;
  34.    }
  35.  
  36.    /**
  37.     * Get URL
  38.     */
  39.    public URL getUrl() {
  40.       URL url = null;
  41.       // first, try to get url in context of current document
  42.       try {
  43.      url = new URL(applet.getDocumentBase(), urlString);
  44.       }
  45.       catch (MalformedURLException e) {
  46.      applet.showStatus(e.getMessage());
  47.      url = null;
  48.       }
  49.       if (url == null) {
  50.      // next, try to get url directly 
  51.      try {
  52.         url = new URL(urlString);
  53.      }
  54.      catch (MalformedURLException e) {
  55.         applet.showStatus(e.getMessage());
  56.         url = null;
  57.      }
  58.       }
  59.       return url;
  60.    }
  61.    
  62.    /**
  63.     * Handle mouse event to set message
  64.     */
  65.    public boolean mouseEnter(Event evt, int x, int y) {
  66.       applet.showStatus(infoString);
  67.       return super.mouseEnter(evt, x, y);
  68.    }
  69.    
  70.    public boolean mouseMove(Event evt, int x, int y) {
  71.       applet.showStatus(infoString);
  72.       return super.mouseMove(evt, x, y);
  73.    }
  74.    
  75.    public boolean mouseExit(Event evt, int x, int y) {
  76.       applet.showStatus("");
  77.       return super.mouseExit(evt, x, y);
  78.    }
  79. }
  80.  
  81. public class JanneToolbarTest2 extends Applet {
  82.    JanneToolbar toolbar;    // the toolbar
  83.    String target;        // Netscape target window
  84.    
  85.    public void init() {
  86.       // Set background
  87.       setBackground(new Color(0xEED5B7));
  88.  
  89.       target = getParameter("target");
  90.  
  91.       // Create the (hardcoded, in-line xpm) images
  92.       Image info = createImage(new XImageSource(infoPixmap));
  93.       Image tools = createImage(new XImageSource(toolsPixmap));
  94.       Image java = createImage(new XImageSource(javaPixmap));
  95.       Image hotlist = createImage(new XImageSource(hotListPixmap));
  96.       Image mail = createImage(new XImageSource(mailPixmap));
  97.  
  98.       // Create (vertical) toolbar panel and add buttons
  99.       toolbar = new JanneToolbar(false, 2, true);
  100.       toolbar.addButton(
  101.      new URLButton(this, java, "JanneToolbar",
  102.                "JanneToolbarMain.html",
  103.                "Go to: JanneToolbar Home Page"));
  104.       toolbar.addButton(
  105.      new URLButton(this, info, "About Me...",
  106.                "http://www.algonet.se/~jannea/torpa.html",
  107.                "Go to: http://www.algonet.se/~jannea/torpa.html"),
  108.      4);
  109.       toolbar.addButton(
  110.      new URLButton(this, java, "Java Applets",
  111.                "http://www.algonet.se/~jannea/applets.html",
  112.                "Go to: http://www.algonet.se/~jannea/applets.html"),
  113.      4);
  114.       toolbar.addButton(
  115.      new URLButton(this, java, "Java Classes",
  116.                "http://www.algonet.se/~jannea/classes.html",
  117.                "Go to: http://www.algonet.se/~jannea/classes.html"));
  118.       toolbar.addButton(
  119.      new URLButton(this, hotlist, "Java Links",
  120.                "http://www.algonet.se/~jannea/javalinks.html",
  121.                "Go to: http://www.algonet.se/~jannea/javalinks.html"));
  122.       toolbar.addButton(
  123.      new URLButton(this, tools, "Applications",
  124.                "http://www.algonet.se/~jannea/apps.html",
  125.                "Go to: http://www.algonet.se/~jannea/apps.html"),
  126.      4);
  127.       toolbar.addButton(
  128.      new URLButton(this, mail, "E-mail",
  129.                "mailto:janne@torpa.se",
  130.                "Send mail to: janne@torpa.se"),
  131.      4);
  132.       add(toolbar);
  133.    }
  134.  
  135.    /**
  136.     * Got to URL when button selected
  137.     */
  138.    public boolean action(Event evt, Object arg) {
  139.       if (evt.target instanceof URLButton) {
  140.      URLButton butt = (URLButton) evt.target;
  141.      URL url = butt.getUrl();
  142.      if (url != null) {
  143.         if (target != null)
  144.            getAppletContext().showDocument(url, target);
  145.         else
  146.            getAppletContext().showDocument(url);
  147.      }
  148.      setCurrent(butt);
  149.       }
  150.       return true;
  151.    }
  152.  
  153.    /**
  154.     * Mark button as current
  155.     */
  156.    void setCurrent(URLButton button) {
  157.       // reset buttons
  158.       int nButtons = toolbar.countComponents();
  159.       for (int i=0; i<nButtons; i++) {
  160.      Component c = toolbar.getComponent(i);
  161.      if (c.getForeground() != getForeground()) {
  162.         c.setForeground(getForeground());
  163.         c.repaint();
  164.      }
  165.       }
  166.       // mark as current (using red foreground)
  167.       button.setForeground(Color.red);
  168.    }
  169.  
  170.    /**
  171.     * Finally, the inline xpm data...
  172.     */
  173.    private static String[] infoPixmap = {
  174.       /* width height ncolors cpp [x_hot y_hot] */
  175.       "48 48 11 1 0 0",
  176.       /* colors */
  177.       "     s none    m none    c none",
  178.       ".    s iconGray1    m white    c #dededededede",
  179.       "X    s iconColor2    m white    c white",
  180.       "o    s iconGray6    m black    c #636363636363",
  181.       "O    s iconGray5    m black    c #737373737373",
  182.       "+    s iconGray2    m white    c #bdbdbdbdbdbd",
  183.       "@    s iconColor5    m black    c blue",
  184.       "#    s iconGray3    m white    c #adadadadadad",
  185.       "$    s iconGray7    m black    c #424242424242",
  186.       "%    s iconGray4    m white    c #949494949494",
  187.       "&    s iconGray8    m black    c #212121212121",
  188.       /* pixels */
  189.       "                                                ",
  190.       "                                                ",
  191.       "                                                ",
  192.       "                                                ",
  193.       "                                                ",
  194.       "                                                ",
  195.       "                                                ",
  196.       "                   ...XXXX.ooO                  ",
  197.       "                 .+.@#@#@#@#@#oo                ",
  198.       "                X++@#@@@@@#@#@#oo               ",
  199.       "             XXX@#@#@@XXX@@#@#@#ooo             ",
  200.       "             X#@#@#@@XXXXX@@#@#@#$o             ",
  201.       "           XX#@#@#@@XXXXXXX@@#@#@#oo            ",
  202.       "          XX#@#@#@#@XXXXXXX@@@#@#@#oo           ",
  203.       "          X#@#@#@#@@XXXXXXX@@#@#@#@#oO          ",
  204.       "        ..X@#@#@#@#@XXXXXXX@@@#@#@#@#$O         ",
  205.       "        XX@#@#@#@#@#@XXXXX@@@#@#@#@#@%$         ",
  206.       "        X@#@#@#@#@#@#@XXX@@@#@#@#@#@#@$         ",
  207.       "       .X#@#@#@#@#@@@@@@@@@#@#@#@#@#@#$O        ",
  208.       "       X.@#@#@#@#@#@XXXXX@@@#@#@#@#@#@OO        ",
  209.       "       X@#@#@#@#@#@@XXXXX@@@@#@#@#@#@+@O        ",
  210.       "       X#@#@#@#@@@@XXXXXXX@@#@#@#@#@#@O$        ",
  211.       "       X@#@#@#@#@XXXXXXXXX@@@#@#@#@#@+@$        ",
  212.       "       X#@#@#@#@@XXXXXXXXX@@#@#@#@#@#@O$        ",
  213.       "       X@#@#@#@#@@@@XXXXXX@@@#@#@#@#@#@$        ",
  214.       "       X#@#@#@#@#@#@XXXXXX@@#@#@#@#@#@O$        ",
  215.       "       X@#@#@#@#@#@@XXXXXX@@@#@#@#@#@+@$        ",
  216.       "       X#@#@#@#@#@#@XXXXXX@@#@#@#@#@#@O$        ",
  217.       "       ..#@#@#@#@#@@XXXXXX@@@#@#@#@#@%@$        ",
  218.       "       O.@#@#@#@#@#@XXXXXX@@@@@@#@#@#@&o        ",
  219.       "        .#@#@#@#@#@@XXXXXXXXX@@@@#@#@O$         ",
  220.       "        O.#@#@#@#@#@XXXXXXXX@@@@#@#@#$$         ",
  221.       "         ..#@#@#@#@@XXXXXXXX@@@#@#@#$o          ",
  222.       "         O.@#@#@#@#@@@XXXX@@@@#@#@#@$o          ",
  223.       "           .@#@#@#@#@@@@@@@@@#@#@#$$o           ",
  224.       "          O%.@#@#@#@#@#@#@#@#@#@#@$o            ",
  225.       "           O.+@#@#@#@#@#@#@#@#@#$oo             ",
  226.       "             ##@#@#@#@#@#@#@#@#$oo              ",
  227.       "              ##@#@#@#@#@#@#$ooo                ",
  228.       "                 ##$$$$$$$$$$o                  ",
  229.       "                                                ",
  230.       "                                                ",
  231.       "                                                ",
  232.       "                                                ",
  233.       "                                                ",
  234.       "                                                ",
  235.       "                                                ",
  236.       "                                                "
  237.    };
  238.    private static String[] toolsPixmap = {
  239.       /* width height ncolors cpp [x_hot y_hot] */
  240.       "48 48 15 1 0 0",
  241.       /* colors */
  242.       "     s none    m none    c none",
  243.       ".    s iconGray5    m black    c #737373737373",
  244.       "X    s iconGray4    m white    c #949494949494",
  245.       "o    s iconGray2    m white    c #bdbdbdbdbdbd",
  246.       "O    s iconColor2    m white    c white",
  247.       "+    s iconGray1    m white    c #dededededede",
  248.       "@    s iconColor6    m white    c yellow",
  249.       "#    s iconGray3    m white    c #adadadadadad",
  250.       "$    s iconGray6    m black    c #636363636363",
  251.       "%    s iconGray7    m black    c #424242424242",
  252.       "&    s iconGray8    m black    c #212121212121",
  253.       "*    s iconColor1    m black    c black",
  254.       "=    s iconColor5    m black    c blue",
  255.       "-    s iconColor7    m white    c cyan",
  256.       ";    s iconColor3    m black    c red",
  257.       /* pixels */
  258.       "                                                ",
  259.       "                                                ",
  260.       "                                                ",
  261.       "                                                ",
  262.       "                                                ",
  263.       "                           .X.                  ",
  264.       "                          .XXo.                 ",
  265.       "       O+                .@@X#o.                ",
  266.       "      O+oO             ..X$@@X#o.               ",
  267.       "     O+ooo+            ..+X$@OX#o.              ",
  268.       "    $.ooooo+          $%&$oX$@@X#o.             ",
  269.       "    .$$oooooo         ..%&$oX$@@Xoo.            ",
  270.       "     $%$ooooo$        ...%$$oX$@OXoo.           ",
  271.       "      .%$oooXO        ....%&$oX$@@Xoo.          ",
  272.       "       ..$&XXXO        ....%&$oX$@@Xoo.         ",
  273.       "        $$.&XXXO        ....%$$oX$@OXoo.        ",
  274.       "         ...&XXXO        .$o+%%$oX$@@Xoo.       ",
  275.       "          ...&XXXO       $++o%%&$oX$@@XoX.      ",
  276.       "           ...&XXXO     .o++o%%%$$oX$@OXX&.     ",
  277.       "            ...&XXXO   $o+oo%...%%$oX$@X*..     ",
  278.       "             ...&XXX==-++o.%.....%%$oXX*...     ",
  279.       "              ...&XX=-.++o%.......%$$+*....     ",
  280.       "               ...&=-.=$==&&.......%&*.....     ",
  281.       "                .==-.-.==&%%.    .........      ",
  282.       "                 =-.=#===&%%.     .......       ",
  283.       "                =-.-$==&&%$$       .....        ",
  284.       "               =-.=.==&%%&$$$&                  ",
  285.       "              =-.-#===&%%&$$@o&                 ",
  286.       "             =-.=.==&%%&&.;@@++&                ",
  287.       "            =-.-.==&%.$&&;@@@@@+&               ",
  288.       "           =-.=#===%..$&&;@@;@@+o&              ",
  289.       "          =-.-.==&%...  &%;;@;@@++&             ",
  290.       "         =-.=.==&%.... ..&%%;@@@@@+&            ",
  291.       "        =-.-#===%..... ...%%;@@;@@+o&           ",
  292.       "       =-.=.==&%.....   ...&%;;@;@@++&          ",
  293.       "      ==.-.==&%.....     ...&%%;@@@@@&$         ",
  294.       "     ====#===%.....       ...%%;@@;@@&$         ",
  295.       "     ======&%.....         ...&%;;@;;&$         ",
  296.       "     &&&&&&%.....           ...&%;@&&..         ",
  297.       "      &&&&&.....              ..%%&&&..         ",
  298.       "       %.......                .......          ",
  299.       "        ......                  .....           ",
  300.       "         ....                                   ",
  301.       "                                                ",
  302.       "                                                ",
  303.       "                                                ",
  304.       "                                                ",
  305.       "                                                "
  306.    };
  307.    
  308.    private static String[] javaPixmap = {
  309.       /* width height ncolors cpp [x_hot y_hot] */
  310.       "48 48 81 1 0 0",
  311.       /* colors */
  312.       "     s none    m none    c none",
  313.       ".    c #D4D44F4F5454",
  314.       "X    c #D5D515151717",
  315.       "o    c #C8C898989999",
  316.       "O    c #C8C8AFAFA1A1",
  317.       "+    c #BDBDB3B3B2B2",
  318.       "@    c #C0C08B8B7B7B",
  319.       "#    c #D4D43B3B3535",
  320.       "$    c #D1D169696767",
  321.       "%    c #D6D6A3A38787",
  322.       "&    c #CDCDB1B1B2B2",
  323.       "*    c #B8B81D1D2222",
  324.       "=    c #BDBDB5B5BDBD",
  325.       "-    c #C6C6C1C1BBBB",
  326.       ";    c #C6C6BDBDC6C6",
  327.       ":    c #BFBFD0D0CECE",
  328.       "?    c #C0C0C0C0C0C0",
  329.       ">    s iconGray2    m white    c #bdbdbdbdbdbd",
  330.       ",    c #BDBDC2C2C6C6",
  331.       "<    c #CECECECECDCD",
  332.       "1    c #B6B68D8D8888",
  333.       "2    c #D1D1C6C6C6C6",
  334.       "3    c #B5B5ADADADAD",
  335.       "4    c #9E9E61616767",
  336.       "5    c #B5B5ADADB5B5",
  337.       "6    c #ADADA5A5ADAD",
  338.       "7    c #B5B5B4B4BDBD",
  339.       "8    c #BDBDAFAFD6D6",
  340.       "9    c #7E7E7F7F9E9E",
  341.       "0    c #86868989B3B3",
  342.       "q    c #39392C2C6767",
  343.       "w    c #6D6D57579292",
  344.       "e    c #84846F6FABAB",
  345.       "r    c #AAAAA5A5B8B8",
  346.       "t    c #8C8C83839B9B",
  347.       "y    c #6F6F69698E8E",
  348.       "u    c #636356569494",
  349.       "i    s iconGray3    m white    c #adadadadadad",
  350.       "p    c #96968787B4B4",
  351.       "a    c #CBCBBDBDDFDF",
  352.       "s    c #424231318484",
  353.       "d    c #3A3A2A2A4D4D",
  354.       "f    c #484840406969",
  355.       "g    c #23231D1D5858",
  356.       "h    c #585854549090",
  357.       "j    c #9B9B9898B1B1",
  358.       "k    c #555555558484",
  359.       "l    c #9D9D5A5A3131",
  360.       "z    c #A5A59999A4A4",
  361.       "x    c #5A5A4A4A7B7B",
  362.       "c    c #636359598484",
  363.       "v    c #B0B09292D6D6",
  364.       "b    c #ADADADADB8B8",
  365.       "n    c #0E0E0C0C1C1C",
  366.       "m    c #66665C5C7373",
  367.       "M    c #3B3B24243131",
  368.       "N    c #222217173D3D",
  369.       "B    c #5A5A42427B7B",
  370.       "V    c #D6D6D4D4E6E6",
  371.       "C    c #94948B8BA0A0",
  372.       "Z    c #A5A5A5A5ADAD",
  373.       "A    c #9E9E8080CACA",
  374.       "S    c #7B7B6B6B9797",
  375.       "D    c #71716161A3A3",
  376.       "F    c #9C9C9C9CA5A5",
  377.       "G    c #66664D4D4343",
  378.       "H    c #272715151818",
  379.       "J    c #A6A69A9AB3B3",
  380.       "K    c #94949494A4A4",
  381.       "L    c #5A5A4A4A8484",
  382.       "P    c #B5B5B5B5B5B5",
  383.       "I    c #5A5A42428888",
  384.       "U    c #7B7B6969ACAC",
  385.       "Y    c #A1A1B3B3CFCF",
  386.       "T    c #9C9C9494A5A5",
  387.       "R    c #63634A4A8484",
  388.       "E    c #4C4C4E4E7B7B",
  389.       "W    c #848473738B8B",
  390.       "Q    c #CECED0D0DDDD",
  391.       "!    c #5A5A56567B7B",
  392.       "~    s iconGray6    m black    c #636363636363",
  393.       /* pixels */
  394.       "                                                ",
  395.       "                                                ",
  396.       "                                                ",
  397.       "                                                ",
  398.       "                      .XXXX.o                   ",
  399.       "                 O+ @#$o%&@$#O                  ",
  400.       "               ooO o#o     o*.&                 ",
  401.       "              $#@= *O       @.O                 ",
  402.       "             .#o  &$        &$o                 ",
  403.       "            ..o   #+$o      -.$                 ",
  404.       "           $#$;  O# $$O     :..                 ",
  405.       "          o#Xo   $#O$#$O    O$?                 ",
  406.       "         -$.Xo   .#$$*#o>  @*, $.               ",
  407.       "         &#@X$<  .$X##.@o Oo? #Xo               ",
  408.       "         O#O##&  @$Xo$X$@ = %##1                ",
  409.       "         @#O1X$2 @##+$X@@&+o#X$                 ",
  410.       "         o#o .X$2.XoXX@&#o$.=.@                 ",
  411.       "         OX@  $XXXXXXo #o%$  .@                 ",
  412.       "         >#X   OO#XX$o@#&#$  $.3                ",
  413.       "          OX.O   O#. .#oo#&  O$$1               ",
  414.       "           oX#1> +*.O.$ .$    344               ",
  415.       "            oXX*X***.$o .o     56               ",
  416.       "                 7 ***@ @X$>      78>           ",
  417.       "              699  *.#.  #$   , 80qwe8          ",
  418.       "            rtyu   *i,$* o*$ p;asdfgghr         ",
  419.       "          >jqgk>?<al=?O*zo4qxc,v9  zfgv         ",
  420.       "           >bqnqc9qsqmMNBfnd ?VpC0h6ZnA         ",
  421.       "             bSDFG*xcM*GSH4  8qJ7jDt Ne         ",
  422.       "              =K1X#>1X#51#  <Lq   vy qj         ",
  423.       "             ZfcG*jZXX?;X? gqur   9PdLr         ",
  424.       "             CgqwhsBhksuILIUr    YitqJ          ",
  425.       "              zLyyj8Jjprr6,8T,  2?qne           ",
  426.       "              ZgRyJb;>,>>JUhS= >7vEJ            ",
  427.       "               gqqsfsshDcIhuC  ,ey6             ",
  428.       "           >fW  rDgCJirpIIh=   8=PTS            ",
  429.       "        7KyqI7  ,8egNNNgsy7>   8p;JeDT          ",
  430.       "       >yK8qD    <Qp0ee0J=    <uF 88qp          ",
  431.       "       =fj,ju07;             rL0  8jsp          ",
  432.       "        =!r=JDuD0jb> >7b6TC0wwt   JsR           ",
  433.       "         >~wbJpeSDusfBkRcy9C7  7rtEe8           ",
  434.       "          >Z9cetSSSSDwy990Cp0eUeUUr5            ",
  435.       "             6zCSRcRLEsfsBhcy9tCF5              ",
  436.       "               =7PiZzzzJ6b===P7P=               ",
  437.       "                                                ",
  438.       "                                                ",
  439.       "                                                ",
  440.       "                                                ",
  441.       "                                                "
  442.    };
  443.    private static String[] hotListPixmap = {
  444.       /* width height ncolors cpp [x_hot y_hot] */
  445.       "48 48 6 1 0 0",
  446.       /* colors */
  447.       "     s none    m none    c none",
  448.       ".    s iconColor3    m black    c red",
  449.       "X    s iconColor6    m white    c yellow",
  450.       "o    s iconColor1    m black    c black",
  451.       "O    c #FFFFFAFACDCD",
  452.       "+    c #D2D2B4B48C8C",
  453.       /* pixels */
  454.       "                                                ",
  455.       "                                                ",
  456.       "                                                ",
  457.       "                                                ",
  458.       "                                                ",
  459.       "            .    .       ..      .              ",
  460.       "            .    ..     .X.     ..              ",
  461.       "           ..    ..    .XX.     .X.             ",
  462.       "           .X.   .X.  .XX.     .XX.             ",
  463.       "           .X.   .X. .XXX.     .XX.             ",
  464.       "          ..X.   .X. .XX.     .XX.              ",
  465.       "           .XX. .XX. .XX.. ....XX.              ",
  466.       "           .XX. .XX.  .XX.  .X..XX.             ",
  467.       "            . X.XX..   .XX.  .X..X..            ",
  468.       "            .XX.XX.    .XX.   .X.XX.            ",
  469.       "           .XX .XX.    .XX..  .X..XX.           ",
  470.       "           .XX..XX.    .X.X.  .XX.XX.           ",
  471.       "          .XX.X.XX.   .XXX.  .XXX.XX..          ",
  472.       "          .X.X .XXX. ..XXX.. .X.X.XXXX.         ",
  473.       "          .oX.o.X.X.oo.XXX.oo.X.XX.X.X.         ",
  474.       "          oXX.O.XXOOOO.XX.OOO.XXX.XX++o.        ",
  475.       "          oXXooXXoooooooooooOO.X.X+++OOo        ",
  476.       "          oXOOOOOOOOOOOOOOOOOO.Xo+++OOOo        ",
  477.       "           oOooOOoooooOOOOOOOOOOo+++OOOo        ",
  478.       "           oOOOOOOOOOOOOOOOOOOOOo+++OOOo        ",
  479.       "            oOooOOoooooooooOOOOOOo+++Oo         ",
  480.       "            oOOOOOOOOOOOOOOOOOOOOooooo          ",
  481.       "             oOOooOOooooooooooooOOo             ",
  482.       "              oOOOOOOOOOOOOOOOOOOOOo            ",
  483.       "              oOOooOOoooooOOOOOOOOOo            ",
  484.       "               oOOOOOOOOOOOOOOOOOOOOo           ",
  485.       "               oOooOOoooooooooOOOOOOo           ",
  486.       "               oOOOOOOOOOOOOOOOOOOOOOo          ",
  487.       "             oooooooooooooooooooooooOOo         ",
  488.       "            oOOOOOOOOOOOOOOOOOOOOo+++Oo         ",
  489.       "           oOOOOOOOOOOOOOOOOOOOOo+++OOOo        ",
  490.       "           oOOOOOOOOOOOOOOOOOOOOo+++OOOo        ",
  491.       "           oOOOOOOOOOOOOOOOOOOOOo+++OOOo        ",
  492.       "           oOOOOOOOOOOOOOOOOOOOOo+++OOOo        ",
  493.       "            oOOOOOOOOOOOOOOOOOOOOo+++Oo         ",
  494.       "             ooooooooooooooooooooooooo          ",
  495.       "                                                ",
  496.       "                                                ",
  497.       "                                                ",
  498.       "                                                ",
  499.       "                                                ",
  500.       "                                                ",
  501.       "                                                "
  502.    };
  503.    private static String[] mailPixmap = {
  504.       /* width height ncolors cpp [x_hot y_hot] */
  505.       "48 48 8 1 0 0",
  506.       /* colors */
  507.       "     s none    m none    c none",
  508.       ".    s iconColor2    m white    c white",
  509.       "X    s iconGray1    m white    c #dededededede",
  510.       "o    s iconGray5    m black    c #737373737373",
  511.       "O    s iconColor3    m black    c red",
  512.       "+    s iconGray2    m white    c #bdbdbdbdbdbd",
  513.       "@    s iconGray4    m white    c #949494949494",
  514.       "#    s iconColor4    m white    c green",
  515.       /* pixels */
  516.       "                                                ",
  517.       "                                                ",
  518.       "                                                ",
  519.       "                                                ",
  520.       "                                                ",
  521.       "                                                ",
  522.       "                                                ",
  523.       "                                                ",
  524.       "                                                ",
  525.       "                                                ",
  526.       "   ..........................................   ",
  527.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  528.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXOOXXXOOXX+..+Xo   ",
  529.       "   .XX@@@XX@@@XXXXXXXXXXXXXXXXXXOOOXXOX.#+.Xo   ",
  530.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXOOXXOXXOX++#+Xo   ",
  531.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXOOXOOXX.#+.Xo   ",
  532.       "   .XX@@X@@@@XXXXXXXXXXXXXXXXXXXXXXXXXX+..+Xo   ",
  533.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  534.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  535.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  536.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  537.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  538.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  539.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  540.       "   .XXXXXXXXXXXXXX@@@X@@@@@XX@@@X@@XXXXXXXXXo   ",
  541.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  542.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  543.       "   .XXXXXXXXXXXXXX@@@@XX@@@XX@@@@XXXXXXXXXXXo   ",
  544.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  545.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  546.       "   .XXXXXXXXXXXXXX@@@@X@@X@@@@@XXXXXXXXXXXXXo   ",
  547.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  548.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  549.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  550.       "   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo   ",
  551.       "   .ooooooooooooooooooooooooooooooooooooooooo   ",
  552.       "                                                ",
  553.       "                                                ",
  554.       "                                                ",
  555.       "                                                ",
  556.       "                                                ",
  557.       "                                                ",
  558.       "                                                ",
  559.       "                                                ",
  560.       "                                                ",
  561.       "                                                ",
  562.       "                                                ",
  563.       "                                                "
  564.    };
  565.    
  566. }
  567.  
  568.