/* * @(#)BasicComp.java 1.5 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package com.sun.media.ui; import javax.media.Control; import java.awt.*; import java.awt.event.*; public class BasicComp extends Container { protected String label = null; private ActionListener al = null; static Panel panel = new Panel(); // needed for imageTracker Control control = null; int width, height; protected BasicComp(String label) { this.label = label; } public void setActionListener(ActionListener al) { this.al = al; } protected void informListener() { if (al != null) al.actionPerformed(new ActionEvent(this, ActionEvent.ACTION_PERFORMED, label)); } // Load an image from the image library. static synchronized public Image fetchImage(String name) { Image image=null; byte[] bits; bits = ImageLib.getImage(name); if (bits==null) return null; image = Toolkit.getDefaultToolkit().createImage(bits); try { // wait for image MediaTracker imageTracker = new MediaTracker(panel); imageTracker.addImage(image, 0); imageTracker.waitForID(0); } catch (InterruptedException e) { System.err.println("ImageLoader: Interrupted at waitForID"); } return image; } public String getLabel () { return ( label ); } }