// ********************************************************************** // // <copyright> // // BBN Technologies // 10 Moulton Street // Cambridge, MA 02138 // (617) 873-8000 // // Copyright (C) BBNT Solutions LLC. All rights reserved. // // </copyright> // ********************************************************************** // // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/tools/icon/IconFactoryTestingTool.java,v $ // $RCSfile: IconFactoryTestingTool.java,v $ // $Revision: 1.6 $ // $Date: 2006/03/06 16:01:31 $ // $Author: dietrick $ // // ********************************************************************** package com.bbn.openmap.tools.icon; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Container; import java.awt.Polygon; import java.awt.Shape; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.geom.AffineTransform; import java.awt.geom.Ellipse2D; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JToolBar; import javax.swing.SwingConstants; import com.bbn.openmap.gui.Tool; import com.bbn.openmap.omGraphics.DrawingAttributes; /** * An example class and example for how to use the OMIconFactory and IconParts * to create Icons. Can be run as a class, or can be used as an OpenMap Tool to * show up on the OpenMap ToolPanel. */ public class IconFactoryTestingTool implements Tool { public IconFactoryTestingTool() { } /** * The retrieval tool's interface. This is added to the tool bar. * * @return String The key for this tool. */ public Container getFace() { JToolBar jtb = new JToolBar(); jtb.setFloatable(false); DrawingAttributes da = new DrawingAttributes(); da.setLinePaint(Color.blue); da.setFillPaint(Color.blue); da.setStroke(new BasicStroke(2)); DrawingAttributes da2 = new DrawingAttributes(); da2.setFillPaint(Color.lightGray); da2.setLinePaint(Color.lightGray); da2.setStroke(new BasicStroke(2)); int[] xpoints = new int[] { 15, 15, 50, 50, 90, 50, 50, 15 }; int[] ypoints = new int[] { 30, 70, 70, 90, 50, 10, 30, 30 }; Shape shape = new Polygon(xpoints, ypoints, xpoints.length); BasicIconPart testPart = new BasicIconPart(shape); testPart.setRenderingAttributes(da); testPart.setGradient(true); Shape shape2 = new Ellipse2D.Double(5, 5, 90, 90); BasicIconPart testPart2 = new BasicIconPart(shape2); testPart2.setRenderingAttributes(da2); testPart2.setGradient(true); IconPartList parts = new IconPartList(); parts.add(testPart2); parts.add(testPart); BasicIconPart testPart3 = new BasicIconPart(shape, AffineTransform.getRotateInstance(Math.PI / 4, 50, 50)); testPart3.setRenderingAttributes(da); testPart3.setGradient(true); IconPartList parts2 = new IconPartList(); parts2.add(testPart2); parts2.add(testPart3); jtb.add(new JButton(OMIconFactory.getIcon(10, 10, parts))); jtb.add(new JButton(OMIconFactory.getIcon(20, 20, parts))); jtb.add(new JButton(OMIconFactory.getIcon(50, 50, parts))); jtb.add(new JButton(OMIconFactory.getIcon(50, 50, parts2))); jtb.add(new JButton(OMIconFactory.getIcon(10, 20, parts2))); return jtb; } /** * The retrieval key for this tool * * @return String The key for this tool. */ public String getKey() { return "IconFactoryTestingTool"; } /** * Set the retrieval key for this tool * * @param aKey The key for this tool. */ public void setKey(String aKey) { } public static void main(String[] argv) { JFrame frame = new JFrame("IconFactoryTestingTool"); frame.getContentPane().add(new IconFactoryTestingTool().getFace()); frame.pack(); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { // need a shutdown event to notify other gui beans and // then exit. System.exit(0); } }); frame.setVisible(true); } public void setOrientation(int orientation) { } public int getOrientation() { return SwingConstants.HORIZONTAL; } }