Looking for Image Button Applet

I'm looking for a simple image button applet (normal state, mouse-over and mouse-click) which can refer to a HTML or start a Javascript function. Can anyone help?
Kippie

Hi,
This is the source code. I don't quite understand what I should do with the tokens. I hope this is allright. Thanks for your help
Kippie.
import java.net.URL;
import java.awt.Color;
import java.util.Vector;
import java.util.Enumeration;
import java.util.StringTokenizer;
import java.applet.Applet;
import java.applet.AudioClip;
Program Name:     ImageURLButtonBar
     Author:               Paul Whitelock
     Version:          1.1
     Copyright:          (c) 1997 by Paul Whitelock and Modern Minds, Inc.
     Requires:          ImageURLButtonBar.class
                         ButtonBar.class
                         ButtonBarObserver.class (Interface definition)
                         ButtonRegion.class
                         ButtonAnimate.class
Modifications: v1.01 (15 April 97)
                         *     Added "sticky" button behavior (controlled
                              by applet "stick" parameter)
                         v1.03 (25 June 97)
                         *     Added applet parameter "useCodeBase". If useCodeBase
                              is true, then image file locations will be based on the directory
                              in which the Java class files are located. If useCodeBase is false, then
                              the locations will be based on the HTML directory. Note that audio
                              file locations are always based on the Java directory. The default
                              for useCodeBase is false (use HTML directory for base).
                         *     The "stick" parameter will now accept a button number in
                              addition to the value of "true" or "false". If a button number
                              is specified, then that button will be "stuck" down
                              when the button bar initializes.
                         *     Added the capability of loading multiple URLs for each button
                              with an optional target for each URL.
                         v1.1 (25 September 97)
                         *     Added "baseBrighten" and "baseBrightenTint" parameters to control
                              highlighting for base button bar.
                         *     Added "mouseOverBrighten" and "moBrightenTint" parameters to control
                              highlighting for base button bar.
                         *     Added "mdBrightenTint" and "mdBrightenAll" parameters to control
                              highlighting for base button bar. Previous versions of the applet
                              supported "mouseDownBrighten," but only if button borders were not
                              drawn for the button-down button bar (the "mdBrightenAll" can be set
                              to "true" to override the this default behavior).
                         *     An "appletBGColor" parameter has been added to set the
                              applet background color. The applet background color is
                              sometimes visible during scrolling or during a page repaint.
     NOTE:               This source code was composed using Microsoft Visual J++
                         with tab stops of 4. Text may not be formatted correctly
                         if another editor is used.
     ******************************** PARAMETERS ********************************
          Applet Parm               ButtonBar Class Parm     Default Value
          ================== =======================     ==================
          appletBGColor
          disableBadURL                                        true
          mouseEnterAudio                                        null (audio disabled)
          mouseClickAudio                                        null (audio disabled)
          buttonDownAudio                                        null (audio disabled)
          stick                                                  false
     *     useCodeBase               base                         false (i.e., use getDocumentBase())
          orient                    barHorizontal               horizontal if applet width > height
          base                    baseBarName                    none - parameter REQUIRED
          mouseOver               mouseOverBarName          null
          mouseOver2               mouseOverBar2Name          null
          mouseDown               mouseDownBarName          null
          mouseDownOver          mouseDownOverBarName     null
          buttonsDisabled          buttonsDisabledBarName     null
          background               backgroundImageName          null
          barXPos                    barXBackgroundPos          0
          barYPos                    barYBackgroundPos          0
          buttonBorders          drawButtonBorders          ButtonBar.BORDERS_NONE
          borderColorTL          borderColorTopLeft          null (Color.white if error)
          borderColorBR          borderColorBottomRight     null (Color.gray if error)
          borderIntensity          borderIntensityPercent     50 (used only if borders)
          borderSize               buttonBorderSize          1 (used only if borders)
          downShift               downShift                    false
          downShiftAmt          downShiftAmt               buttonBorderSize
          baseBrighten          baseBrightenPct
          baseBrightenTint     baseBrightenTint
          mouseOverBrighten     mouseOverBrightenPct
          moBrightenTint          mouseOverBrightenTint
          mouseDownBrighten     mouseDownBrightenPct     
          mdBrightenTint          mouseDownBrightenTint
          mdBrightenAll          mouseDownBrightenAll
          buttonsDisabledDim     buttonsDisabledDimPct     25     (used only if no buttonsDisabled)
          grayBarBrighten          grayBarBrighten               0
          frameRate               frameRate                    150 (used only if mouseOver2)
     *     If useCodeBase is true, then all file locations are based on the Java class file
          directory (i.e., use getCodeBase()).
public class ImageURLButtonBar extends Applet implements ButtonBarObserver {
     // Instance Variables
     ButtonBar buttonBar;
     Vector buttonURL = new Vector(10, 10);
     Vector buttonURLTarget = new Vector(10, 10);
     Vector buttonDescription = new Vector(10, 10);
     AudioClip mouseEnterAudio = null;
     AudioClip mouseClickAudio = null;
     AudioClip buttonDownAudio = null;
     // Applet Initialization
     public void init() {
          // =================================================================
          // Applet ImageURLButtonBar specific parameters
          // =================================================================
          // appletBGColor
          //          Set applet background color
          String parm = getParameter("appletBGColor");
          if (parm != null) {
               try {     
                    setBackground(new Color(Integer.parseInt(parm, 16)));
               catch (Exception e) {
                    reportError("appletBGColor");
          // disableBadURL
          //          If true, then any button with an invalid URL will be disabled
          parm = getParameter("disableBadURL");
          boolean disableBadURL;
          if (parm == null || !parm.equals("false")) disableBadURL = true;
          else disableBadURL = false;
          // mouseEnterAudio
          //          Sound to play each time the mouse enters any of the buttons
          parm = getParameter("mouseEnterAudio");
          if (parm != null) {
               mouseEnterAudio = getAudioClip(getCodeBase(), parm);
               if (mouseEnterAudio == null) reportError("Can't load " + parm);
          // mouseClickAudio
          //          Sound to play each time a mouse down click occurs in a button
          parm = getParameter("mouseClickAudio");
          if (parm != null) {
               mouseClickAudio = getAudioClip(getCodeBase(), parm);
               if (mouseClickAudio == null) reportError("Can't load " + parm);
          // buttonDownAudio
          //          Sound to play each time a mouse up occurs in a button (i.e, the
          //          button has be toggled through it's "down" position)
          parm = getParameter("buttonDownAudio");
          if (parm != null) {
               buttonDownAudio = getAudioClip(getCodeBase(), parm);
               if (buttonDownAudio == null) reportError("Can't load " + parm);
          // stickyBar
          //          If the "stick" applet parameter is "true", then buttons will stay
          //          "stuck" in the down position until another button is clicked.
          //          If the "stick" applet parameter is the number of a button in the
          //          button bar, then that button will be "stuck" down when the
          //          button bar initializes.
          int stickyBar = -1;
          parm = getParameter("stick");
          if (parm != null && !parm.toLowerCase().equals("false")) {
               try {
                    stickyBar = Integer.parseInt(parm);
               catch (Exception e) {
                    stickyBar = 0;
          // =================================================================
          // Class ButtonBar specific parameters
          // =================================================================
          // orient (barHorizontal)
          //          If this parameter = 'h' then the button bar is horizontal
          //          If this parameter = 'v' then the button bar is vertical
          //          If this parameter is not specified, then the button bar is
          //          horizontal if the applet width is greater than the applet height
          boolean horizontal;
          parm = getParameter("orient");
          if (parm == null) horizontal = size().width > size().height;
          else horizontal = parm.equals("h") ? true : false;
          // base     (baseBarName)
          //          The base image file for the buttons. This is the only image
          //          file that MUST be specified.
          String baseBar = getParameter("base");
          if (baseBar == null) {
               reportError("Parameter 'base' REQUIRED!");
               return;
          // barXPos (barXBackgroundPos)
          // barYPos (barYBackgroundPos)
          //          If a background image is specified then these to parameters
          //          represent the top-left corner location where the button bar
          //          should be placed on the background
          int barXPos = 0, barYPos = 0;
          try {
               parm = getParameter("barXPos");
               if (parm != null) barXPos = Integer.parseInt(parm);
               parm = getParameter("barYPos");
               if (parm != null) barYPos = Integer.parseInt(parm);
          catch (Exception e) {
               reportError("barXPos or barYPos");
               barXPos = barYPos = 0;
          // buttonBorders (drawButtonBorders)
          //          "none" = do not draw any button borders
          //          "all"     = draw borders around all button bar buttons
          //          "base"     = draw borders only around buttons on base button bar
          //          "other"     = draw borders around all button bar buttons EXCEPT base button bar buttons
          parm = getParameter("buttonBorders");
          int drawButtonBorders = ButtonBar.BORDERS_NONE;
          if (parm != null) {
               if (parm.equals("base")) drawButtonBorders = ButtonBar.BORDERS_BASE;
               else if (parm.equals("other")) drawButtonBorders = ButtonBar.BORDERS_OTHER;
               else if (parm.equals("all")) drawButtonBorders = ButtonBar.BORDERS_ALL;
          // borderColorTL (borderColorTopLeft)
          // borderColorBR (borderColorBottomRight)
          //          Normally, borders are drawn around buttons by lightening or darkening
          //          the image in the border region. A specific color can be used instead
          //          for the top and left borders and/or the bottom and right borders. The
          //          value specified for either of these two parameters should be a hexadecimal
          //          number (e.g., "FF0000" for red, "888888" for medium gray, etc.).
          Color borderColorTopLeft = null;
          Color borderColorBottomRight = null;
          try {
               parm = getParameter("borderColorTL");
               if (parm != null) borderColorTopLeft = new Color(Integer.parseInt(parm, 16));
               parm = getParameter("borderColorBR");
               if (parm != null) borderColorBottomRight = new Color(Integer.parseInt(parm, 16));
          catch (Exception e) {
               reportError("borderColorTL or borderColorBR");
               borderColorTopLeft = Color.white;
               borderColorBottomRight = Color.gray;
          // borderIntensity (borderIntensityPercent)
          //          If borders are drawn for buttons, and if a border color is not specified
          //          (see above), then the image in the border region will be lightened or
          //          darkened by this percentage to create the borders.
          int borderIntensityPercent = 50;
          try {
               parm = getParameter("borderIntensity");
               if (parm != null) borderIntensityPercent = Integer.parseInt(parm);
          catch (Exception e) {
               reportError("borderIntensity");
               borderIntensityPercent = 50;
          // borderSize (buttonBorderSize)
          //          The size of borders, if borders are specified.          
          int buttonBorderSize = 1;
          try {
               parm = getParameter("borderSize");
               if (parm != null) buttonBorderSize = Integer.parseInt(parm);
          catch (Exception e) {
               reportError("borderSize");
          // downShift
          //          If true, then the button image is shift down and right downShiftAmt
          //          (see below) pixels when the mouse is clicked on the button.
          parm = getParameter("downShift");
          boolean downShift = (parm == null || !parm.equals("true")) ? false : true;
          // downShiftAmt
          //          If downShift is true, then the button image is shift down and right
          //          downShiftAmt (see above) pixels when the mouse is clicked on the button.
          int downShiftAmt = buttonBorderSize;
          try {
               parm = getParameter("downShiftAmt");
               if (parm != null) downShiftAmt = Integer.parseInt(parm);
          catch (Exception e) {
               reportError("downShiftAmt");
          // baseBrighten (baseBrightenPct)
          //          The base bar will be lightened by this percentage
          int baseBrightenPct = 0;
          try {
               parm = getParameter("baseBrighten");
               if (parm != null) baseBrightenPct = Integer.parseInt(parm);
          catch (Exception e) {
               reportError("baseBrighten");
          // mouseOverBrighten (mouseOverBrightenPct)
          //          A button will be lightened by this percentage when the mouse
          //          moves over a button.
          int mouseOverBrightenPct = 0;
          try {
               parm = getParameter("mouseOverBrighten");
               if (parm != null) mouseOverBrightenPct = Integer.parseInt(parm);
          catch (Exception e) {
               reportError("mouseOverBrighten");
          // mdBrightenAll (mouseDownBrightenAll)
          //          A button will be lightened by this percentage when the mouse
          //          moves over a button.
          boolean mouseDownBrightenAll = false;
          parm = getParameter("mdBrightenAll");
          if (parm != null && parm.charAt(0) == 't') mouseDownBrightenAll = true;
          // mouseDownBrighten (mouseDownBrightenPct)
          //          A button will be lightened by this percentage when it is
          //          clicked.
          int mouseDownBrightenPct = 0;
          try {
               parm = getParameter("mouseDownBrighten");
               if (parm != null) mouseDownBrightenPct = Integer.parseInt(parm);
          catch (Exception e) {
               reportError("mouseDownBrighten");
          // baseBrightenTint (mouseOverBrightenTint)
          // moBrightenTint (mouseOverBrightenTint)
          // mdBrightenTint (mouseDownBrightenTint)
          Color baseBrightenTint = null;
          Color mouseOverBrightenTint = null;
          Color mouseDownBrightenTint = null;
          try {
               parm = getParameter("baseBrightenTint");
               if (parm != null) baseBrightenTint = new Color(Integer.parseInt(parm, 16));
               parm = getParameter("moBrightenTint");
               if (parm != null) mouseOverBrightenTint = new Color(Integer.parseInt(parm, 16));
               parm = getParameter("mdBrightenTint");
               if (parm != null) mouseDownBrightenTint = new Color(Integer.parseInt(parm, 16));
          catch (Exception e) {
               reportError("baseBrightenTint, moBrightenTint or mdBrightenTint");
          // buttonsDisabledDim (buttonsDisabledDimPct)
          //          If a button is disabled and if there is no buttonsDisabled image,
          //          then the button will be dimmed by this percentage.
          int buttonsDisabledDimPct = 25;
          try {
               parm = getParameter("buttonsDisabledDim");
               if (parm != null) buttonsDisabledDimPct = Integer.parseInt(parm);
          catch (Exception e) {
               reportError("buttonsDisabledDim");
          // grayBarBrighten
          //          If there is no mouseOver image, then the base image will be used for
          //          the mouseOver image, and a grayscale version of the base image will
          //          be used for base button images. This parameter can be used to lighten
          //          COLORS (not grays) in the image before it is converted to grayscale.
          //          This can help if the standard conversion produces buttons that are
          //          too dark.
          int grayBarBrighten = 0;
          try {
               parm = getParameter("grayBarBrighten");
               if (parm != null) grayBarBrighten = Integer.parseInt(parm);
          catch (Exception e) {
               reportError("grayBarBrighten");
          // frameRate
          //          If a mouseOver2 image is specified, then this parameter controls
          //          how quickly animation will be performed (using mouseOver and mouseOver2
          //          images) in milliseconds when the mouse is moved over a button.
          int frameRate = 150;
          try {
               parm = getParameter("frameRate");
               if (parm != null) frameRate = Integer.parseInt(parm);
          catch (Exception e) {
               reportError("frameRate");
          // =================================================================
          // Instantiate the button bar
          // =================================================================
          try {
               // Allow the use of documentBase (default) or codeBase for image file
               // base directory.
               URL documentBase;
               parm = getParameter("useCodeBase");
               if (parm == null || parm.equals("false")) documentBase = getDocumentBase();
               else documentBase = getCodeBase();
               // Create the button bar
               buttonBar = new ButtonBar(
                                             horizontal,                         /* barHorizontal */
                                             documentBase,                         /* base */
                                             baseBar,                              /* baseBarName */
                                             getParameter("mouseOver"),     /* mouseOverBarName */
                                             getParameter("mouseOver2"),     /* mouseOverBar2Name */
                                             getParameter("mouseDown"),     /* mouseDownBarName */
                                             getParameter("mouseDownOver"), /* mouseDownOverBarName */
                                             getParameter("buttonsDisabled"),/* buttonsDisabledBarName */
                                             getParameter("background"),     /* backgroundImageName */
                                             barXPos,                              /* barXBackgroundPos */
                                             barYPos,                              /* barYBackgroundPos */
                                             drawButtonBorders,               /* drawButtonBorders */
                                             borderColorTopLeft,               /* borderColorTopLeft */
                                             borderColorBottomRight,          /* borderColorBottomRight */
                                             borderIntensityPercent,          /* borderIntensityPercent */
                                             buttonBorderSize,                    /* buttonBorderSize */
                                             downShift,                         /* downShift */
                                             downShiftAmt,                         /* downShiftAmt */
                                             baseBrightenPct,                    /* baseBrightenPct */
                                             baseBrightenTint,                    /* baseBrightenTint */
                                             mouseOverBrightenPct,               /* mouseOverBrightenPct */
                                             mouseOverBrightenTint,          /* mouseOverBrightenTint */
                                             mouseDownBrightenAll,               /* mouseDownBrightenAll */
                                             mouseDownBrightenPct,               /* mouseDownBrightenPct */
                                             mouseDownBrightenTint,          /* mouseDownBrightenTint */
                                             buttonsDisabledDimPct,          /* buttonsDisabledDimPct */
                                             grayBarBrighten,                    /* grayBarBrighten */
                                             frameRate                              /* frameRate */     
               // =================================================================
               // Add buttons to the button bar
               // =================================================================
               ButtonRegion buttonToAdd;
               String buttonNbr, urlString;
               URL urlForButton;
               int nbr = 0;
               int buttonStart, buttonSize;
               // Initialize button on bar flag (used to determine if at least one button
               // was successfully added to the button bar)
               boolean buttonOnBar = false;
               // This loop will be exited when no more buttons can be found in the HTML
               while (true) {
                    // Construct the prefix for the button parameters
                    buttonNbr = "button" + ++nbr;
                    // Find the starting offset and the size of the button
                    // If null is returned as the starting offset parameter value for the
                    // button, then all buttons should have been read so the loop can
                    // be exited.
                    try {
                         parm = getParameter(buttonNbr + "Start");
                         if (parm == null) break;
                         buttonStart = Integer.parseInt(parm);
                         buttonSize = Integer.parseInt(getParameter(buttonNbr + "Size"));
                    catch (Exception e) {
                         reportError("Button" + nbr + " start or size in error or missing");
                         buttonStart = 0;
                         buttonSize = 0;
                    // Create a ButtonRegion for the button
                    // The button ID will be set to the number of the button (this will
                    // be converted to an integer later when a buttonBarEvent is received).
                    buttonToAdd = new ButtonRegion("" + nbr, buttonStart, buttonSize);
                    // If the buttons on this button bar are "sticky" buttons, then
                    // enable "sticky" behavior for this button. The button will always
                    // "pop-up" whenever another button is clicked.
                    if (stickyBar >= 0) {
                         buttonToAdd.stickyButton(true, ButtonRegion.POPUP_ALWAYS, false);
                         // If the current button number matches the value of stickyBar, then the
                         // current button should be "stuck" down for its initial state.
                         if (stickyBar == nbr) buttonToAdd.setStuck(true);
                    // Try to add the button (i.e., the ButtonRegion) to the buttonBar
                    if (buttonBar.addButton(buttonToAdd)) {
                         // Set flag to indicate that at least one button has been added
                         buttonOnBar = true;
                         // The button was successfully added, so save the button's description
                         // (which will be displayed in the status bar) and the target frame
                         // for the button URL in the appropriate Vector.
                         buttonDescription.addElement(getParameter(buttonNbr + "Desc"));
                         buttonURLTarget.addElement(getParameter(buttonNbr + "Target"));
                         // Try to create a URL for the button.
                         // If the URL is invalid, then place an error message in the
                         // buttonURLTarget Vector (this will be used to warn the user
                         // when the button is clicked). Also, if disableBadURL is true, then
                         // disable the button.
                         String theURL;
                         urlString = getParameter(buttonNbr + "URL");
                         if (urlString != null) {
                              Enumeration urls = new StringTokenizer(urlString);
                              while (urls.hasMoreElements()) {
                                   theURL = (String)urls.nextElement();
                                   try {
                                        urlForButton = new URL(theURL);
                                   catch (Exception e) {
                                        try {
                                             urlForButton = new URL(getDocumentBase(), theURL);
                                        catch (Exception e2) {
                                             reportError("Button" + nbr + " has invalid URL");
                                             buttonURLTarget.setElementAt("Invalid URL", nbr - 1);
                                             urlString = null;
                                             break;
                         else {
                              reportError("Button" + nbr + " has no URL");
                              buttonURLTarget.setElementAt("No URL", nbr - 1);
                         buttonURL.addElement(urlString);
               // Remove any unused elements in the Vectors
               buttonURL.trimToSize();
               buttonURLTarget.trimToSize();
               buttonDescription.trimToSize();
               // If no buttons were added, throw exception
               if (!buttonOnBar) throw new IllegalArgumentException("No buttons on bar");
               // Let the buttonBar know that all buttons have been defined. This is
               // really only necessary if downShift is true, but it won't hurt calling
               // the method in either case.
               buttonBar.allButtonsDefined();
               // Add the applet as an observer so that the applet will be notified
               // when button events occur.
               buttonBar.addButtonObserver(this);
               // Enable the button bar now that all buttons have been defined.
               // (the buttonBar is disabled when it is created and must be
               // specifically enabled).
               buttonBar.enable(true);
               // Add the buttonBar to the applet
               setLayout(null);
               add(buttonBar);
          catch (Exception e) {
               reportError("Can't create ButtonBar\n" + e);
     // buttonBarEvent
     //          This method is called by the ButtonBar whenever a button event occurs
     //          It provides the ButtonBar that the event occurred for, the button ID
     //          that the event occurred for, and the event type.
     public void buttonBarEvent(ButtonBar barID, String buttonID, int buttonEvent) {
          String description;
          // The buttonBar will send an IMAGES_READY event when all button bar images
          // have been prepared. We are not interested in this event, but only in
          // certain "action" events that occur for a button.
          if (buttonEvent != ButtonBar.IMAGES_READY) {
               // A number in String format was assigned as the buttonID when each
               // ButtonRegion was created. The buttonID String will now be converted
               // back into a number that can be used as a Vector index to retrieve
               // button specific information (i.e., URL, target frame, and description).
               int buttonNbr = Integer.parseInt(buttonID) - 1;
               switch (buttonEvent) {
                    // If a mouseDown event has occurred for the button, and if an
                    // AudioClip is available for this event, play the AudioClip.
                    case ButtonBar.MOUSE_CLICK:     
                         if (mouseClickAudio != null) mouseClickAudio.play();
                         break;
                    // If the mouse has been moved over a button, display the button's
                    // description in the browser's status area. If the button that the mouse
                    // is over is an active button, and if there is an AudioClip available
                    // for this event, then play the audio clip.
                    case ButtonBar.MOUSE_ENTER:     
                    case ButtonBar.MOUSE_ENTER_DISABLED:
                         description = (String)buttonDescription.elementAt(buttonNbr);
                         if (description != null) showStatus(description);
                         if (mouseEnterAudio != null && buttonEvent == ButtonBar.MOUSE_ENTER) {
                              mouseEnterAudio.play();
                         break;
                    // If the mouse has been moved off of a button and if the button has
                    // description text associated with it, then clear the browser's
                    // browser's status area.
                    case ButtonBar.MOUSE_EXIT:
                    case ButtonBar.MOUSE_EXIT_DISABLED:
                         description = (String)buttonDescription.elementAt(buttonNbr);
                         if (description != null) showStatus("");
                         break;
                    // If the button has been depressed (i.e., a mouseDown followed by
                    // a mouseUp for the same button) then load the URL(s) for the button
                    // in the target frame(s), if specified. If the URL is null, then the
                    // URL was found to be missing or invalid, so display the text stored in
                    // the buttonURLTarget Vector in the brower's status area. If there is
                    // an AudioClip for the event, play the audio.
                    case ButtonBar.BUTTON_DOWN:
                         // Get the string of URLs and Targets for the button
                         String urlString = (String)buttonURL.elementAt(buttonNbr);
                         String targetString = (String)buttonURLTarget.elementAt(buttonNbr);
                         // If there is at least one URL for the button
                         if (urlString != null) {
                              URL urlForButton;
                              String theURL;
                              String theTarget;
                              Enumeration urls = new StringTokenizer(urlString);
                              Enumeration targets = null;
                              if (targetString != null) targets = new StringTokenizer(targetString);
                              // While there is another URL for the button
                              while (urls.hasMoreElements()) {
                                   // Get the next String token that represents a URL
                                   theURL = (String)urls.nextElement();
                                   // Convert the String to a URL
                                   try {
                                        urlForButton = new URL(theURL);
                                   catch (Exception e) {
                                        try {
                                             urlForButton = new URL(getDocumentBase(), theURL);
                                        catch (Exception e2) {
                                             urlForButton = null;
                                             break;
                                   // If the String was successfully convert to a URL
                                   if (urlForButton != null) {
                                        // If there is a target for this URL
                                        if (targets != null && targets.hasMoreElements()) {
                                             // Get the String that represents the target
                                             theTarget = (String)targets.nextElement();
                                             // If the target String does NOT begin with a "-",
                                             // then load the URL in the target
                                             if (theTarget.charAt(0) != '-') {
                                                  getAppletContext().showDocument(urlForButton, theTarget);
                                             // Else a target for this URL should not be used
                                             else {
                                                  getAppletContext().showDocument(urlForButton);
                                        // Else there is no target for this URL, so just show
                                        // the URL.
                                        else {
                                             getAppletContext().showDocument(urlForButton);
                         // Else URL is missing or invalid
                         else showStatus((String)buttonURLTarget.elementAt(buttonNbr));
                         if (buttonDownAudio != null) buttonDownAudio.play();
                         break;
     // Error reporting
     private void reportError(String message) {
          message = "[ImageURLButtonBar] Error - " + message;
          System.out.println(message);
          showStatus(message);
}

Similar Messages

  • Looking for image

    I am basically looking for this image without the mac logo:
    http://www.growlichat.com/blog/wp-content/NotSoSimpleApple1280800.png
    It is the background Steve Jobs used at the September 6th keynote.... I want it without any logos... btw this needs to be visible on a pc, so jpeg, jpg, bmp...

    You mean the black to gray gradient? (no apple logo)
    Viewer window / button dropdown at lower right / Render / Custom Gradient...then
    Motion tab / scale=150, rotation=270
    Controls tab / Gradient direction=90, Gradient Width=45, Start=0,0,50, End=0,0,0,
    Something like that?
    EDIT - If so, then export QT conversion / still image / graphic flavor of choice...
    Message was edited by: Kevan D. Holdsworth

  • Looking for image effects app

    I would like to know what's the best app for adding effects to images, like shaddows, reflections, borders, etc. I tried Pictureesque, but it seems limited. I would like to know if there are any other apps like Pictureesque that do more? I'm looking for a good piece of software for under $50.
    Thanks,
    Bryan

    Search on MacUpdate
    Regards
    TD

  • Getting addActionEvent listener to work for Simple Button Applet

    Hi, im trying to get some simple code running in this little button applet but im having a hard time trying to get NetBeans to allow me to do it. The Code is as follows:
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    public class Clickers extends Applet
    TextField text1;
    Button button1, button2;
    public void init()
    text1 = new TextField(20);
    add(text1);
    button1 = new Button("Welcome To");
    add(button1);
    button1.addActionListener(this);
    button2 = new Button("Java");
    add(button2);
    button2.addActionListener(this);
    public void actionPerformed(ActionEvent e)
    if (e.getSource() == button1)
    text1.setText("Welcome To");
    if (e.getSource() == button2)
    text1.setText("Java");
    upon compiling i get the error:
    addActionListener(java.awt.event.ActionListener) in java.awt.Button cannot be applied to (Clickers)
    for both the buttons.
    can someone explain why???
    Thanks
    Richard.

    Its ok just realised didnt implement ActionListener

  • Wie erhalte ich organische Schaltflächen? Looking for organic Buttons?

    Für eine Lernapplikation soll die Figur klickbar gemacht werden. Wie kann ich die Silhouette der Figur als Schaltfläche nutzen? Momentan wird das Mouseover aktiv, wenn ich neben der Figur bin, die div-Fläche wird benutzt. Leider gibt es  keinen Schalter, wo ich das .svg in ein nutzbare Maske verwandeln kann.
    Wie kann ich Pfade in Edge nutzen/zeichnen/einsetzen?
    I am looking for a function to make organic button. My button is a figure. I need a silhouette/shadowgraph for the mouseover/mouseclick -function. Can I use  .svg?

    Hi, oonapeg-
    Unfortunately, we place the SVG within a square div, so hit points will be the shape of a div.  (Depending on the complexity of your silhouette, you can probably shape a transparent div to be approximately that shape/size and use that as a hit point.)  If you need precision, you can use a link embedded within the SVG itself, but you will need to do that in an external application by hand.  Here's a link I found on how to do this:
    http://tutorials.jenkov.com/svg/a-element.html
    Hope this helps!
    -Elaine

  • When looking for images on Google Images why does Firefox only load the first page?

    For over a month now whenever I've gone to Google Images only the first page of pictures is shown, the others are just gray boxes or nothing at all. I've cleared my cache and cookies, but don't know what else I can try.

    Does it help if you disable "Google Instant" in the Google Search settings?
    You can click the Gear icon (top right) to open the Google Settings page

  • Looking for App/Button: Turn Location On/Off

    Hi All,
    Please let me know if you are aware of an app that, with one touch, will turn Location services ON or OFF.
    Thanks!
    Jim

    I don't believe such an app exists and I think it is doubtful Apple would allow a 3rd party app for this.
    You can use this link to provide Apple your feedback.
    http://www.apple.com/feedback/iphone.html

  • Looking for JAVA Applet Guru

    We are looking for a JAVA applet guru that knows a way to discover all of the fields on a JAVA applet and then return the list and data to a calling app without having any access to the applet source code. Previously the best answer we have received is "just OCR the screen"
    Any other ideas? JDPA
    We have a good consulting opportunity for someone who can provide a proof-of-concept application.

    any updates ..

  • Looking for Leopard Safari icon location help?

    Looking for the button pictures in Safari for leopard. The tif files in resource are for 10.4 and I don't see where leopard safari is getting it's images. i.e. the "bug" button. Any ideas?

    No i see the same thing but as in my post. Look at the norm and pressed versions of the tif files. the pressed are "blue". Leopard's pressed view is dark grey, not blue. I can change the tif file to anything but it doesn't change in the browser. Safari is not using those tif files anymore. (I think).

  • Safari for Leopard button icon location help?

    Looking for the button pictures in Safari for leopard. The tif files in resource are for 10.4 and I don't see where leopard safari is getting it's images. i.e. the "bug" button. Any ideas?

    No i see the same thing but as in my post. Look at the norm and pressed versions of the tif files. the pressed are "blue". Leopard's pressed view is dark grey, not blue. I can change the tif file to anything but it doesn't change in the browser. Safari is not using those tif files anymore. (I think).

  • Am looking for a nascar in car radio app?  anyone know what it is calledor where I can get?

    Anyone know what app allows me tolisten to nascar in car radio?

    Tried to delete it but was told could not because it was in use.  Went to get info and found that it was listed as an email attachment with a date of Apr 18, 2010.
    Open your Mail. Move the file to the Trash. Quit Mail. Now empty the Trash.
    When you can't empty the trash when you see the "file is in use" dialog, you need to quit the app that the file is associated with, then empty the Trash.
    I was looking for images in All Images that I didn't need and could delete.
    Be careful of deleting images. They might be icons associated with certain apps like iChat or PhotoBooth.
    The file size is 4kb.
    Most system icons are about 4kb in size.
    I don't think this is malware related.

  • I can't print two-sided with my macbook air. i've tried to look for the driver in the settings of printer and faxes but there is none, my printer is able to print for that kind of option. please help

    Canon MP280 Series

    When you select print you should see a menu option labeled Printer Settings (or Printer Options). This may be hidden in 2 different ways. First, the program may have minimized the print dialog box. Look for a button labeled Show Details. If you see it you'll need to click on the button to see all the printer options that are available. Having done this you'll see more options. Typically you'd look for the Printer Settings under a popup menu labeled Layout but sometimes something else is showing. For example, below you'll see that Safari hides it under Safari.

  • Istock? Other choices for images?

    Looking for images for my projects. Someone suggested iStock but it seems a bit pricey. Any other options less pricey or free? If I do a google search and download an image won't it be too low res for the project?
    I'm working on a project with only photos so i want to use different images of photo albums. iStock has some great choices but they're $7 a piece http://www.istockphoto.com/file_search.php?action=Browse&Cache=3dc5382c40957ae548f70cb335 fd0828&page=3

    iStock seems pricey? It's only a few dollars apiece for excellent pictures!
    Here's another excellent site.
    http://www.sxc.hu/index.phtml
    These are all free, though there's not a large collection.
    http://www.freephotos.com/

  • Looking for a VirtualCD-(vc4/000-)image converter

    Hey!
    I'm looking for a tool to open and convert VirtualCD-image files. I know that I could start Win, install VirtualCD, mount the vc4/000-file and make an iso9660-file out of it, but it would be a lot easier if there was a converting tool. Mounting vc4 files as they where iso-files doesn't work, btw.
    Does anyone know a tool supporting vc4?
    Thanks in advance!
    Cheers Sigi

    Resolution has nothing to do with how your site looks - it
    only determines
    the maximum practical width for a browser viewport on that
    particular
    screen. Your site would look EXACTLY the same in a
    fixed-width browser
    viewport on ANY resolution screen. So, chasing resolution is
    like nailing
    jelly to the wall. It's a waste of time.
    When you create your page, you have to make a number of
    decisions on layout
    approach:
    1. Fixed width, left aligned
    2. Fixed width, center aligned
    3. Flexible width - full screen
    4. Flexible width - min/max, centered
    5. Elastic (i.e., expands height/width with font size change)
    Once you have made that going in decision, you cannot easily
    change to some
    other layout type without significantly rebuilding the page.
    So -
    > I wonder if there is a quick way or small
    > program or using css that I can quickly change the
    resolution
    the answer would be "NO".
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "bullhorn" <[email protected]> wrote in
    message
    news:ff7cno$6dg$[email protected]..
    > Hi all,
    > I need to make my website viewable in both 800x600 and
    1024x768. Under
    > advice,
    > I designed it mainly for 800x600 and I wonder if there
    is a quick way or
    > small
    > program or using css that I can quickly change the
    resolution - at least
    > most
    > of the site. Just so you know what I'm talking about,
    here is the site -
    > www.caledoniaclubhouse.co.uk
    > As you will see I made life difficult for myself by
    using a fixed
    > background
    > image of the "box".
    > I need a painless way of converting all the buttons etc
    to 1024x768 but my
    > knowledge doesn't stretch that far.
    > Been looking around the net but thought I'd get the best
    advice here. ;o)
    > Many thanks for reading.
    > Greg
    >

  • With Adobe Flash, the image is looking for a "zoom" setting and does not find it. The result is that the imbedded image is too large for the space allowed. Is there a zoom setting for Firefox?

    When running FB game apps, the image loaded is too large for the FB space. The program looks for a "zoom" setting and does not find it. This was from the error screen. I have not been able to locate where the image zoom is located (found the font adjustment). I am new to FireFox and would like to sort this out please.
    Your installed plug in assume Shockwave Flash 10.3, but I thought it was Adobe Flash 10.3. Are they one and the same?
    Below is the warning message from the Error Console

    I'm not sure the CSS warning is relevant to Flash. Maybe adjust your overall zoom level on Facebook manually from the View menu?
    View > Zoom
    If you have the orange Firefox button, tap the Alt key to display the classic menu bar.

Maybe you are looking for

  • Firefox29, on a new win7 computer which has never had ff installed, will not install the latest flash plugin from adobe.

    I promise to refrain from venting my disgust :-) but when FF 9 blew up the entire web. I had all kinds of issues so I did things like Bill Gates taught us to do. I re-installed windows 7, brand new, formatted HD and all. The very first thing I did wa

  • Yahoo works on iPhone mail but not iPad2 mail

    I have an Mac, Google and a Yahoo mail account.  The Mac and Google work on the MBP, iPad2 and iPhone with both the mail app and via Safari log in.  Yahoo works on the MBP and iPhone via Mail and Safari but does not work on the iPad2 via the Mail App

  • Apple tv 2 and Mac mini streaming ?

    Ok I want to be able to stream my iTunes library from my Mac mini 2010 hdmi without server to my apple tv thing is they are both connected via hdmi cables to the same tv and when the tv changes channels the Mac mini goes to sleep what can I do to str

  • MacBook doesn't display properly in Millions of Colors

    Apologies for being a novice. I have a black Mac Book purchased in June 2007. Over the weekend, my display went funky. Everything is blurry and garbled. I believe it is related to the color setting. When the laptop starts up, it is fine but then afte

  • Web Part Chart Help

    I have set up a Web Part Chart as a bar chart based on Desk Utilisation. Does anyone know if there is a way I can change the colour of an individual bar if the value is greater that a preset figure say 100%.