Java 类org.jfree.chart.entity.LegendItemEntity 实例源码

项目:parabuild-ci    文件:LegendItemEntityTests.java   
/**
 * Confirm that the equals method can distinguish all the required fields.
 */
public void testEquals() {
    LegendItemEntity e1 = new LegendItemEntity(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); 
    LegendItemEntity e2 = new LegendItemEntity(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); 
    assertTrue(e1.equals(e2));  

    e1.setArea(new Rectangle2D.Double(4.0, 3.0, 2.0, 1.0));
    assertFalse(e1.equals(e2));
    e2.setArea(new Rectangle2D.Double(4.0, 3.0, 2.0, 1.0));
    assertTrue(e1.equals(e2));  

    e1.setToolTipText("New ToolTip");
    assertFalse(e1.equals(e2));
    e2.setToolTipText("New ToolTip");
    assertTrue(e1.equals(e2));  

    e1.setURLText("New URL");
    assertFalse(e1.equals(e2));
    e2.setURLText("New URL");
    assertTrue(e1.equals(e2));  
}
项目:parabuild-ci    文件:LegendItemEntityTests.java   
/**
 * Confirm that the equals method can distinguish all the required fields.
 */
public void testEquals() {
    LegendItemEntity e1 = new LegendItemEntity(
        new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)
    ); 
    LegendItemEntity e2 = new LegendItemEntity(
        new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)
    ); 
    assertTrue(e1.equals(e2));  

    e1.setArea(new Rectangle2D.Double(4.0, 3.0, 2.0, 1.0));
    assertFalse(e1.equals(e2));
    e2.setArea(new Rectangle2D.Double(4.0, 3.0, 2.0, 1.0));
    assertTrue(e1.equals(e2));  

    e1.setToolTipText("New ToolTip");
    assertFalse(e1.equals(e2));
    e2.setToolTipText("New ToolTip");
    assertTrue(e1.equals(e2));  

    e1.setURLText("New URL");
    assertFalse(e1.equals(e2));
    e2.setURLText("New URL");
    assertTrue(e1.equals(e2));  
}
项目:nabs    文件:LegendItemEntityTests.java   
/**
 * Confirm that the equals method can distinguish all the required fields.
 */
public void testEquals() {
    LegendItemEntity e1 = new LegendItemEntity(
        new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)
    ); 
    LegendItemEntity e2 = new LegendItemEntity(
        new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)
    ); 
    assertTrue(e1.equals(e2));  

    e1.setArea(new Rectangle2D.Double(4.0, 3.0, 2.0, 1.0));
    assertFalse(e1.equals(e2));
    e2.setArea(new Rectangle2D.Double(4.0, 3.0, 2.0, 1.0));
    assertTrue(e1.equals(e2));  

    e1.setToolTipText("New ToolTip");
    assertFalse(e1.equals(e2));
    e2.setToolTipText("New ToolTip");
    assertTrue(e1.equals(e2));  

    e1.setURLText("New URL");
    assertFalse(e1.equals(e2));
    e2.setURLText("New URL");
    assertTrue(e1.equals(e2));  
}
项目:mzmine2    文件:ChartGesture.java   
/**
 * The gesture entity type
 * 
 * @param entity
 * @return
 */
public static Entity getGestureEntity(ChartEntity entity) {
  if (entity == null)
    return NONE;
  if (entity instanceof PlotEntity)
    return PLOT;
  if (entity instanceof AxisEntity) {
    AxisEntity e = (AxisEntity) entity;
    if (e.getAxis().getPlot() instanceof XYPlot) {
      XYPlot plot = ((XYPlot) e.getAxis().getPlot());
      for (int i = 0; i < plot.getDomainAxisCount(); i++)
        if (plot.getDomainAxis(i).equals(e.getAxis()))
          return DOMAIN_AXIS;
      for (int i = 0; i < plot.getRangeAxisCount(); i++)
        if (plot.getRangeAxis(i).equals(e.getAxis()))
          return RANGE_AXIS;
    }
    // else return basic axis
    return AXIS;
  }
  if (entity instanceof LegendItemEntity)
    return LEGEND_ITEM;
  if (entity instanceof XYItemEntity)
    return XY_ITEM;
  if (entity instanceof XYAnnotationEntity)
    return XY_ANNOTATION;
  if (entity instanceof TitleEntity) {
    if (((TitleEntity) entity).getTitle() instanceof TextTitle)
      return TEXT_TITLE;
    else
      return NON_TEXT_TITLE;
  }
  if (entity instanceof JFreeChartEntity)
    return JFREECHART;
  if (entity instanceof CategoryItemEntity)
    return CATEGORY_ITEM;
  return GENERAL;
}
项目:logdog    文件:SyncedChartPanel.java   
private boolean isClickOnLegend(ChartEntity entity) {
    if (entity instanceof LegendItemEntity) {
        LegendItemEntity itemEntity = (LegendItemEntity) entity;
        Comparable<?> key = itemEntity.getSeriesKey();
        TimeSeriesCollection dataset = (TimeSeriesCollection) itemEntity.getDataset();
        int seriesIndex = dataset.indexOf(key);
        XYPlot plot = getChart().getXYPlot();
        int datasetIndex = plot.indexOf(dataset);
        XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(datasetIndex);

        LegendItemCollection coll = renderer.getLegendItems();
        LegendItem legendItem = coll.get(seriesIndex);
        boolean shapesVisible = legendItem.isShapeVisible();

        boolean seriesVisible = renderer.isSeriesVisible(seriesIndex);
        ValueAxis axis = plot.getRangeAxis(datasetIndex);
        if (seriesVisible) {
            if (shapesVisible) {
                renderer.setSeriesShapesVisible(seriesIndex, false);
                legendItem.setShapeVisible(false);
            } else {
                // Hide case
                renderer.setSeriesVisible(seriesIndex, false, false);
                renderer.setLegendTextPaint(seriesIndex, sLegendDisabledTextColor);
                axis.setVisible(false);
            }
        } else {
            if (mShapesInChart) {
                renderer.setSeriesShapesVisible(seriesIndex, true);
            }
            renderer.setSeriesVisible(seriesIndex, true, false);
            renderer.setLegendTextPaint(seriesIndex, sLegendTextColor);
            axis.setVisible(true);
        }

        return true;
    }

    return false;
}
项目:astor    文件:LegendItemEntityTests.java   
/**
 * Confirm that the equals method can distinguish all the required fields.
 */
public void testEquals() {
    LegendItemEntity e1 = new LegendItemEntity(new Rectangle2D.Double(1.0,
            2.0, 3.0, 4.0));
    LegendItemEntity e2 = new LegendItemEntity(new Rectangle2D.Double(1.0,
            2.0, 3.0, 4.0));
    assertTrue(e1.equals(e2));

    e1.setArea(new Rectangle2D.Double(4.0, 3.0, 2.0, 1.0));
    assertFalse(e1.equals(e2));
    e2.setArea(new Rectangle2D.Double(4.0, 3.0, 2.0, 1.0));
    assertTrue(e1.equals(e2));

    e1.setToolTipText("New ToolTip");
    assertFalse(e1.equals(e2));
    e2.setToolTipText("New ToolTip");
    assertTrue(e1.equals(e2));

    e1.setURLText("New URL");
    assertFalse(e1.equals(e2));
    e2.setURLText("New URL");
    assertTrue(e1.equals(e2));

    e1.setDataset(new DefaultCategoryDataset());
    assertFalse(e1.equals(e2));
    e2.setDataset(new DefaultCategoryDataset());
    assertTrue(e1.equals(e2));

    e1.setSeriesKey("A");
    assertFalse(e1.equals(e2));
    e2.setSeriesKey("A");
    assertTrue(e1.equals(e2));
}
项目:parabuild-ci    文件:StandardLegend.java   
/**
 * Draws the series elements.
 * 
 * @param g2  the graphics device.
 * @param items  the items.
 * @param translation  the translation point.
 * @param info  optional carrier for rendering info.
 */
private void drawSeriesElements(Graphics2D g2, List items, Point2D translation, 
                                ChartRenderingInfo info) {
    EntityCollection entities = null;
    if (info != null) {
        entities = info.getEntityCollection();
    }
    // Draw individual series elements
    for (int i = 0; i < items.size(); i++) {
        DrawableLegendItem item = (DrawableLegendItem) items.get(i);
        g2.setPaint(item.getItem().getPaint());
        Shape keyBox = item.getMarker();
        if (this.displaySeriesLines) {
            g2.setStroke(item.getLineStroke());
            g2.draw(item.getLine());

            if (this.displaySeriesShapes) {
                if (item.isMarkerFilled()) {
                    g2.fill(keyBox);
                }
                else {
                    g2.draw(keyBox);
                }
            }
        } 
        else {
            if (item.isMarkerFilled()) {
                g2.fill(keyBox);
            }
            else {
                g2.draw(keyBox);
            }
        }
        if (getOutlineShapes()) {
            g2.setPaint(this.shapeOutlinePaint);
            g2.setStroke(this.shapeOutlineStroke);
            g2.draw(keyBox);
        }
        g2.setPaint(this.itemPaint);
        g2.setFont(this.itemFont);
        TextUtilities.drawAlignedString(
            item.getItem().getLabel(), g2,
            (float) item.getLabelPosition().getX(), (float) item.getLabelPosition().getY(),
            TextAnchor.CENTER_LEFT
        );
        LOGGER.debug("Item x = " + item.getLabelPosition().getX());
        LOGGER.debug("Item y = " + item.getLabelPosition().getY());

        if (entities != null) {
            Rectangle2D area = new Rectangle2D.Double(
                translation.getX() + item.getX(),
                translation.getY() + item.getY(),
                item.getWidth(), item.getHeight()
            );
            LegendItemEntity entity = new LegendItemEntity(area);
            entity.setSeriesIndex(i);
            entities.addEntity(entity);
        }
    }
}
项目:nmonvisualizer    文件:LineChartPanel.java   
@Override
public final void chartMouseClicked(ChartMouseEvent event) {
    int series = -1;

    ChartEntity entity = event.getEntity();

    if (entity == null) {
        return;
    }

    // users can click on either the line or the legend
    // regardless, figure out the series index
    if (entity.getClass() == XYItemEntity.class) {
        series = ((XYItemEntity) event.getEntity()).getSeriesIndex();
    }
    else if (entity.getClass() == LegendItemEntity.class) {
        LegendItemEntity legendEntity = (LegendItemEntity) event.getEntity();
        XYDataset dataset = (XYDataset) legendEntity.getDataset();

        for (int i = 0; i < dataset.getSeriesCount(); i++) {
            if (dataset.getSeriesKey(i).equals(legendEntity.getSeriesKey())) {
                series = i;
                break;
            }
        }
    }

    if (series != -1) {
        XYItemRenderer renderer = getChart().getXYPlot().getRenderer();
        Stroke oldHighlight = renderer.getSeriesStroke(series);

        // clear existing highlights
        ((AbstractRenderer) getChart().getXYPlot().getRenderer()).clearSeriesStrokes(false);

        // toggle series stroke
        if (oldHighlight != SELECTED_STROKE) {
            renderer.setSeriesStroke(series, SELECTED_STROKE);

            firePropertyChange("highlightedLine", null, series);
        }
        else {
            renderer.setSeriesStroke(series, null);

            firePropertyChange("highlightedLine", series, null);
        }

        // assume whatever fired the event will repaint the chart
    }
}