home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / text / html / HTMLUtils.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  5.3 KB  |  180 lines

  1. package com.sun.java.swing.text.html;
  2.  
  3. import com.sun.java.swing.ImageIcon;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Image;
  7. import java.awt.MediaTracker;
  8. import java.awt.Toolkit;
  9. import java.io.File;
  10. import java.io.IOException;
  11. import java.io.InputStream;
  12. import java.net.MalformedURLException;
  13. import java.net.URL;
  14.  
  15. class HTMLUtils implements HTMLDefs {
  16.    public static String colorToHex(Color var0) throws HTMLException {
  17.       String var1 = new String("#");
  18.       String var2 = Integer.toHexString(var0.getRed());
  19.       if (var2.length() > 2) {
  20.          throw new HTMLException(1, "invalid red value");
  21.       } else {
  22.          if (var2.length() < 2) {
  23.             var1 = var1 + "0" + var2;
  24.          } else {
  25.             var1 = var1 + var2;
  26.          }
  27.  
  28.          var2 = Integer.toHexString(var0.getGreen());
  29.          if (var2.length() > 2) {
  30.             throw new HTMLException(1, "invalid green value");
  31.          } else {
  32.             if (var2.length() < 2) {
  33.                var1 = var1 + "0" + var2;
  34.             } else {
  35.                var1 = var1 + var2;
  36.             }
  37.  
  38.             var2 = Integer.toHexString(var0.getBlue());
  39.             if (var2.length() > 2) {
  40.                throw new HTMLException(1, "invalid green value");
  41.             } else {
  42.                if (var2.length() < 2) {
  43.                   var1 = var1 + "0" + var2;
  44.                } else {
  45.                   var1 = var1 + var2;
  46.                }
  47.  
  48.                return var1;
  49.             }
  50.          }
  51.       }
  52.    }
  53.  
  54.    public static boolean endTagNeeded(String var0) {
  55.       if (!var0.equals("base") && !var0.equals("isindex") && !var0.equals("link") && !var0.equals("meta")) {
  56.          return !var0.equals("body") && !var0.equals("head") && !var0.equals("script") && !var0.equals("style") && !var0.equals("title") && !var0.equals("p") && !var0.equals("pre") && !var0.equals("code") && !var0.equals("center") && !var0.equals("div") && !var0.equals("blockquote") && !var0.equals("kbd") && !var0.equals("b") && !var0.equals("i") && !var0.equals("u") && !var0.equals("cite") && !var0.equals("big") && !var0.equals("small") && !var0.equals("dfn") && !var0.equals("em") && !var0.equals("samp") && !var0.equals("strike") && !var0.equals("strong") && !var0.equals("sub") && !var0.equals("sup") && !var0.equals("tt") && !var0.equals("_var") ? true : true;
  57.       } else {
  58.          return false;
  59.       }
  60.    }
  61.  
  62.    public static final Color hexToColor(String var0) throws HTMLException {
  63.       if (var0.length() != 7) {
  64.          throw new HTMLException(1, "invalid hex color string length");
  65.       } else if (var0.startsWith("#")) {
  66.          var0.substring(1, var0.length());
  67.          Color var1 = Color.decode(var0);
  68.          return var1;
  69.       } else {
  70.          return null;
  71.       }
  72.    }
  73.  
  74.    static final int stringToHex(String var0) throws HTMLException {
  75.       if (var0.length() != 2) {
  76.          throw new HTMLException(2, "invalid hex string" + var0);
  77.       } else {
  78.          int var1 = Character.digit(var0.charAt(0), 16) * 16;
  79.          int var2 = Character.digit(var0.charAt(1), 16);
  80.          return var2 + var1;
  81.       }
  82.    }
  83.  
  84.    public static final Color stringToColor(String var0) throws HTMLException {
  85.       Color var1;
  86.       if (var0.charAt(0) == '#') {
  87.          var1 = hexToColor(var0);
  88.       } else if (var0.equalsIgnoreCase("Black")) {
  89.          var1 = hexToColor("#000000");
  90.       } else if (var0.equalsIgnoreCase("Silver")) {
  91.          var1 = hexToColor("#C0C0C0");
  92.       } else if (var0.equalsIgnoreCase("Gray")) {
  93.          var1 = hexToColor("#808080");
  94.       } else if (var0.equalsIgnoreCase("White")) {
  95.          var1 = hexToColor("#FFFFFF");
  96.       } else if (var0.equalsIgnoreCase("Maroon")) {
  97.          var1 = hexToColor("#800000");
  98.       } else if (var0.equalsIgnoreCase("Red")) {
  99.          var1 = hexToColor("#FF0000");
  100.       } else if (var0.equalsIgnoreCase("Purple")) {
  101.          var1 = hexToColor("#800080");
  102.       } else if (var0.equalsIgnoreCase("Fuchsia")) {
  103.          var1 = hexToColor("#FF00FF");
  104.       } else if (var0.equalsIgnoreCase("Green")) {
  105.          var1 = hexToColor("#008000");
  106.       } else if (var0.equalsIgnoreCase("Lime")) {
  107.          var1 = hexToColor("#00FF00");
  108.       } else if (var0.equalsIgnoreCase("Olive")) {
  109.          var1 = hexToColor("#808000");
  110.       } else if (var0.equalsIgnoreCase("Yellow")) {
  111.          var1 = hexToColor("#FFFF00");
  112.       } else if (var0.equalsIgnoreCase("Navy")) {
  113.          var1 = hexToColor("#000080");
  114.       } else if (var0.equalsIgnoreCase("Blue")) {
  115.          var1 = hexToColor("#0000FF");
  116.       } else if (var0.equalsIgnoreCase("Teal")) {
  117.          var1 = hexToColor("#008080");
  118.       } else {
  119.          if (!var0.equalsIgnoreCase("Aqua")) {
  120.             throw new HTMLException(1, "invalid HTML color string: " + var0);
  121.          }
  122.  
  123.          var1 = hexToColor("#00FFFF");
  124.       }
  125.  
  126.       return var1;
  127.    }
  128.  
  129.    public static String removeSurroundingQuotes(String var0) {
  130.       String var1 = new String(var0);
  131.       if (var0.startsWith("\"") && var0.endsWith("\"")) {
  132.          var1 = new String(var0.substring(1, var0.length() - 1));
  133.       }
  134.  
  135.       return var1;
  136.    }
  137.  
  138.    public static ImageIcon loadImage(Component var0, String var1) {
  139.       Toolkit var2 = var0.getToolkit();
  140.       if (var2 == null) {
  141.          return null;
  142.       } else {
  143.          URL var3 = null;
  144.  
  145.          try {
  146.             var3 = new URL(var1);
  147.             InputStream var10 = var3.openConnection().getInputStream();
  148.             var10.close();
  149.          } catch (MalformedURLException var8) {
  150.             File var4 = new File(var1);
  151.             if (!var4.canRead()) {
  152.                return null;
  153.             }
  154.          } catch (IOException var9) {
  155.             return null;
  156.          }
  157.  
  158.          Image var11;
  159.          if (var3 != null) {
  160.             var11 = var2.getImage(var3);
  161.          } else {
  162.             var11 = var2.getImage(var1);
  163.          }
  164.  
  165.          MediaTracker var5 = new MediaTracker(var0);
  166.          var5.addImage(var11, 0);
  167.  
  168.          try {
  169.             var5.waitForID(0);
  170.          } catch (InterruptedException var7) {
  171.             System.out.println(var7);
  172.             return null;
  173.          }
  174.  
  175.          ImageIcon var6 = new ImageIcon(var11);
  176.          return var6.getIconWidth() != -1 && var6.getIconHeight() != -1 ? var6 : null;
  177.       }
  178.    }
  179. }
  180.