never mind, sorry I woke you up...

(3 am ?)

marc


|Api? Documented? Huh?
|
|-- Juha
|
|
|On Thu, 11 Jan 2001, marc fleury wrote:
|
|> hey, is the "graph renderer" api documented?
|>
|> this is fancy
|>
|> marc
|>
|> |-----Original Message-----
|> |From: [EMAIL PROTECTED]
|> |[mailto:[EMAIL PROTECTED]]On Behalf Of jBoss CVS
|> |Development
|> |Sent: Friday, December 29, 2000 2:36 PM
|> |To: [EMAIL PROTECTED]
|> |Subject: [jBoss-Dev] CVS update: admin/src/org/jboss/admin/monitor/graph
|> |DefaultGraphRenderer.java
|> |
|> |
|> |  User: juha
|> |  Date: 00/12/29 14:36:25
|> |
|> |  Modified:    src/org/jboss/admin/monitor/graph
|DefaultGraphRenderer.java
|> |  Log:
|> |  scale the graphs to fit the view area
|> |
|> |  Revision  Changes    Path
|> |  1.2       +95 -6
|> |admin/src/org/jboss/admin/monitor/graph/DefaultGraphRenderer.java
|> |
|> |  Index: DefaultGraphRenderer.java
|> |  ===================================================================
|> |  RCS file:
|> |/products/cvs/ejboss/admin/src/org/jboss/admin/monitor/graph/Defaul
|> |tGraphRenderer.java,v
|> |  retrieving revision 1.1
|> |  retrieving revision 1.2
|> |  diff -u -r1.1 -r1.2
|> |  --- DefaultGraphRenderer.java     2000/12/17 20:11:23     1.1
|> |  +++ DefaultGraphRenderer.java     2000/12/29 22:36:25     1.2
|> |  @@ -10,7 +10,10 @@
|> |
|> |   import java.util.ArrayList;
|> |   import java.util.Collections;
|> |  +import java.util.Comparator;
|> |   import java.util.Iterator;
|> |  +import java.util.NoSuchElementException;
|> |  +import java.io.Serializable;
|> |
|> |   import javax.swing.JPanel;
|> |
|> |  @@ -29,14 +32,25 @@
|> |
|> |           // superclass JComponent implements Serializable
|> |
|> |  +    /** Horizontal "step" on the grid between plot points,
|in pixels */
|> |       private int horzPlotStep    = 4;
|> |
|> |  +    /** Gap between the vertical grid lines, in pixels */
|> |       private int gridGapWidth    = 10;
|> |  +    /** Gap between the horizontal grid lines, in pixels */
|> |       private int gridGapHeight   = 10;
|> |  -
|> |  +
|> |  +    /** The color used for drawing the background grid */
|> |       private Color gridLineColor = new Color(0x007700);
|> |  +    /** The color used for drawing the plot lines */
|> |       private Color plotColor     = Color.green;
|> |
|> |  +    /**
|> |  +     * The current maximum value plotted on the grid. This
|value is the
|> |  +     * non-scaled value of a plot point at the top of the grid.
|> |  +     */
|> |  +    private double max          = 1.0d;
|> |  +
|> |       private ArrayList points    = new ArrayList();
|> |
|> |
|> |  @@ -67,18 +81,36 @@
|> |    */
|> |
|> |       public Component getGraphRendererObject(GraphView graph) {
|> |  -
|> |  -        points = new ArrayList(graph.getModel().getPlotPoints());
|> |
|> |  -        Collections.reverse(points);
|> |  +        try {
|> |  +            points = new ArrayList(graph.getModel().getPlotPoints());
|> |  +
|> |  +            Point maxPoint = (Point)Collections.max(points, new
|> |PointComparator());
|> |  +
|> |  +            if (!isWithinScale(maxPoint.getY()))
|> |  +                rescale(maxPoint.getY());
|> |  +
|> |  +            Collections.reverse(points);
|> |  +        }
|> |  +        catch (NoSuchElementException ignored) {
|> |  +            // collection was empty, just ignore
|> |  +        }
|> |  +        catch (ClassCastException e) {
|> |  +            System.err.println(e);
|> |  +            e.printStackTrace();
|> |  +        }
|> |
|> |           return this;
|> |       }
|> |
|> |       public void valueAppended(GraphModelEvent evt) {
|> |
|> |  -        points.add(0, new Point(points.size(), (int)evt.getValue()));
|> |  +        double value = evt.getValue();
|> |  +        points.add(0, new Point(points.size(), (int)value));
|> |
|> |  +        if (!isWithinScale(value))
|> |  +            rescale(value);
|> |  +
|> |           repaint();
|> |       }
|> |
|> |  @@ -90,6 +122,13 @@
|> |
|>
||*************************************************************************
|> |    */
|> |
|> |  +    public void addNotify() {
|> |  +        super.addNotify();
|> |  +
|> |  +        //Insets insets = getInsets();
|> |  +        //this.max = getHeight() - insets.top - insets.bottom;
|> |  +    }
|> |  +
|> |       public void paintComponent(Graphics g) {
|> |
|> |           // draw background first
|> |  @@ -200,9 +239,59 @@
|> |
|> |           while ((it.hasNext()) && (x >= 0)) {
|> |               Point p = (Point)it.next();
|> |  -            g.drawLine(x, y, (x -= horzPlotStep), (y =
|height - p.y));
|> |  +            g.drawLine(x, y, (x -= horzPlotStep), (y = height -
|> |(int)(p.y * height / max)));
|> |               --x;
|> |           }
|> |       }
|> |  +
|> |  +
|> |  +    private boolean isWithinScale(Double value) {
|> |  +        return isWithinScale(value.doubleValue());
|> |  +    }
|> |  +
|> |  +    private boolean isWithinScale(double value) {
|> |  +
|> |  +        if (value < 0.9 * max)
|> |  +            return true;
|> |  +
|> |  +        return false;
|> |  +    }
|> |  +
|> |  +    private void rescale(double value) {
|> |  +
|> |  +        max     = 1.4 * value;
|> |  +
|> |  +    }
|> |  +
|> |  +/*
|> |  +
|>
||*************************************************************************
|> |  + *
|> |  + *      INNER CLASSES
|> |  + *
|> |  +
|>
||*************************************************************************
|> |  + */
|> |  +
|> |  +    private class PointComparator implements Comparator,
|Serializable {
|> |  +
|> |  +        /**
|> |  +         * ...
|> |  +         *
|> |  +         * @exception ClassCastException - if the arguments'
|> |types prevent them
|> |  +         *            from being compared by this Comparator.
|> |  +         */
|> |  +        public int compare(Object a, Object b) {
|> |  +            Point pa = (Point)a;
|> |  +            Point pb = (Point)b;
|> |  +
|> |  +            if (pa.getY() == pb.getY())
|> |  +                return 0;
|> |  +
|> |  +            else if (pa.getY() < pb.getY())
|> |  +                return -1;
|> |  +
|> |  +            else return 1;
|> |  +        }
|> |  +    }
|> |  +
|> |   }
|> |
|> |
|> |
|> |
|> |
|> |
|>
|>
|
|
|


Reply via email to