import waba.fx.*; import waba.util.*; /** A class that creates a set of icons appropriately scaled for the device in question. */ public class ScaledIcons { protected Image imgHome; protected Image imgLink; protected Image imgHelp; protected Image imgOk; protected Image imgNotOk; protected Image imgUnknown; /* Keep 2 matched lists of icon images and icon names. */ protected Vector allIcons=new Vector(); protected Vector iconNames=new Vector(); protected int iconSize; public ScaledIcons(int minSize) { iconSize=minSize; imgHome=createImage("icHome.bmp","$home"); imgLink=createImage("icLink.bmp","$system_link"); imgOk=createImage("icOk.bmp","button_ok"); imgNotOk=createImage("icNotOk.bmp","button_cancel"); imgHelp=createImage("icHelp.bmp","help"); imgUnknown=createImage("icUnknown.bmp","$system_unknown"); /* Images we don't really need specific links to. */ createImage("icAlert.bmp","messagebox_warning"); createImage("icIdea.bmp","idea"); } /** Search the icon names list for this name, and return the relevant icon or * a null. * * @param findMe * @return */ public Image findIcon(String findMe) { for (int i=0; i<iconNames.size();i++) { if (((String)(iconNames.items[i])).equals(findMe)) { return (Image)(allIcons.items[i]); } } return null; } /** Create an image, and add a reference to the vector list using the name. * * @param imageFile The icon file to use * @param imageName Name used in descriptor. * @return The Image. */ private Image createImage(String imageFile,String imageName) { Image newImg=new Image(imageFile).getScaledInstance(iconSize,iconSize); allIcons.add(newImg); iconNames.add(imageName); return newImg; } }