home *** CD-ROM | disk | FTP | other *** search
Java Source | 2000-06-23 | 5.4 KB | 169 lines |
- /**
- * Apple Worldwide Developer Technical Support
- *
- * Sample demonstrating AppleScript for Java.
- *
- * by Michael Hopkins and Levi Brown, Apple Developer Technical Support
- *
- * File: Util.java
- *
- * Copyright ©1996 Apple Computer, Inc.
- * All rights reserved.
- *
- * 4/99 v. 1.0 Shipped as 'Magic Oracle AppleScript for Java' sample.
- *
- * You may incorporate this sample code into your applications without
- * restriction, though the sample code has been provided "AS IS" and the
- * responsibility for its operation is 100% yours. However, what you are
- * not permitted to do is to redistribute the source as "Apple Sample
- * Code" after having made changes. If you're going to re-distribute the
- * source, we require that you make it clear in the source that the code
- * was descended from Apple Sample Code, but that you've made changes.
- **/
-
- import java.awt.*;
- import java.io.*;
- import java.net.URL;
-
- public class Util
- {
- public static final Color GSBColor = Color.black;
- public static final Color GSWColor = Color.white;
- public static final Color GS1Color = new Color(238, 238, 238);
- public static final Color GS2Color = new Color(221, 221, 221);
- public static final Color GS3Color = new Color(204, 204, 204);
- public static final Color GS4Color = new Color(187, 187, 187);
- public static final Color GS5Color = new Color(170, 170, 170);
- public static final Color GS6Color = new Color(153, 153, 153);
- public static final Color GS7Color = new Color(136, 136, 136);
- public static final Color GS8Color = new Color(119, 119, 119);
- public static final Color GS9Color = new Color(102, 102, 102);
- public static final Color GS10Color = new Color( 85, 85, 85);
- public static final Color GS11Color = new Color( 68, 68, 68);
- public static final Color GS12Color = new Color( 34, 34, 34);
- public static final Color GSA1Color = new Color( 51, 51, 51);
- public static final Color GSA2Color = new Color( 17, 17, 17);
-
- /**
- * Completely loads the Image referenced by the given filename.
- * This will block until the image is loaded.
- * @param filename the path of the Image to load.
- * @param watcher the component to use to load the image.
- * @return the loaded Image, or null if the loading fails.
- */
- public static Image loadImage(String filename, Component watcher)
- {
- Image image = null;
-
- if (filename != null)
- {
- URL url = watcher.getClass().getResource(filename);
- if (url == null)
- {
- System.err.println("loadImage() could not find \"" + filename + "\"");
- }
- else
- {
- image = watcher.getToolkit().getImage(url);
- if (image == null)
- {
- System.err.println("loadImage() getImage() failed for \"" + filename + "\"");
- }
- else
- {
- MediaTracker tracker = new MediaTracker(watcher);
-
- try
- {
- tracker.addImage(image, 0);
- tracker.waitForID(0);
- }
- catch (InterruptedException e) { System.err.println("loadImage(): " + e); }
- finally
- {
- boolean isError = tracker.isErrorAny();
- if (isError)
- {
- System.err.println("loadImage() failed to load \"" + filename + "\"");
- int flags = tracker.statusAll(true);
-
- boolean loading = 0 != (flags & MediaTracker.LOADING);
- boolean aborted = 0 != (flags & MediaTracker.ABORTED);
- boolean errored = 0 != (flags & MediaTracker.ERRORED);
- boolean complete = 0 != (flags & MediaTracker.COMPLETE);
- System.err.println("loading: " + loading);
- System.err.println("aborted: " + aborted);
- System.err.println("errored: " + errored);
- System.err.println("complete: " + complete);
- }
- }
- }
- }
- }
-
- return image;
- }
-
- /**
- * Reads in a text file to a String.
- * There is probably a more elegant solution, but this works.
- * @param file the text file to read.
- * @return the string containing the contents of the file.
- * @throws java.io.FileNotFoundException if the given file can not
- * be found to be read.
- */
- public static String readTextResourceFile(String filePath, Object localRef) throws FileNotFoundException
- {
- String result = "";
-
- if (filePath != null && localRef != null)
- {
- InputStream inStream = localRef.getClass().getResourceAsStream(filePath);
- if (inStream == null)
- throw new FileNotFoundException("Could not find \"" + filePath + "\"");
-
- //Create a new buffered input stream out of the raw input stream, with a buffer of 8k.
- BufferedInputStream in = new BufferedInputStream(inStream, 8192);
- try
- {
- StringBuffer sb = new StringBuffer();
-
- int c = in.read();
- while (c != -1)
- {
- sb = sb.append((char)c);
- c = in.read();
- }
-
- result = new String(sb);
- }
- catch (IOException exc)
- {
- exc.printStackTrace();
- }
- }
- return result;
- }
-
- /**
- * Replaces a given substring with the supplied string in the source string.
- * @param what is the substring of the source string to replace.
- * @param with is the string to use instead.
- * @param source is the original string.
- * @return the modified string with all occurances of 'what' replaced by 'with'
- */
- public static String replace(String what, String with, String source)
- {
- String result = new String(source);
-
- int index = source.indexOf(what);
- while (index >= 0)
- {
- result = (result.substring(0, index) + with + result.substring(index + what.length()));
- index = result.indexOf(what);
- }
-
- return result;
- }
- }
-