Example usage for org.jfree.chart ChartMouseEvent getTrigger

List of usage examples for org.jfree.chart ChartMouseEvent getTrigger

Introduction

In this page you can find the example usage for org.jfree.chart ChartMouseEvent getTrigger.

Prototype

public MouseEvent getTrigger() 

Source Link

Document

Returns the mouse event that triggered this event.

Usage

From source file:org.mwc.debrief.sensorfusion.views.MouseClickProblemDemo.java

/**
 * @param title//ww w .  j  a va2  s . co m
 *          the frame title.
 */
public MouseClickProblemDemo(final String title) {
    super(title);

    final TimeSeries s1 = new TimeSeries("Series to click");
    s1.add(new Month(2, 2001), 181.8);
    s1.add(new Month(3, 2001), 167.3);
    s1.add(new Month(4, 2001), 153.8);
    s1.add(new Month(5, 2001), 167.6);
    s1.add(new Month(6, 2001), 158.8);
    s1.add(new Month(7, 2001), 148.3);
    s1.add(new Month(8, 2001), 153.9);
    s1.add(new Month(9, 2001), 142.7);
    s1.add(new Month(10, 2001), 123.2);

    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(s1);

    final JFreeChart chart = ChartFactory.createTimeSeriesChart("[Alt]-click to switch orientation", // title
            "Time axis", // x-axis label
            "Value axis", // y-axis label
            dataset, // data
            false, // create legend?
            false, // generate tooltips?
            false // generate URLs?
    );

    final ChartPanel chartPanel = new ChartPanel(chart);

    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));

    chartPanel.addChartMouseListener(new ChartMouseListener() {
        public void chartMouseMoved(final ChartMouseEvent arg0) {
        }

        public void chartMouseClicked(final ChartMouseEvent arg0) {
            System.out.println("clicked on:" + arg0.getEntity());

            if (arg0.getTrigger().isAltDown()) {
                if (chart.getXYPlot().getOrientation() == PlotOrientation.HORIZONTAL)
                    chart.getXYPlot().setOrientation(PlotOrientation.VERTICAL);
                else
                    chart.getXYPlot().setOrientation(PlotOrientation.HORIZONTAL);
            }
        }
    });
    setContentPane(chartPanel);
}

From source file:MouseEventListener.java

@Override
public void chartMouseMoved(ChartMouseEvent arg0) {
    Double chartX;/*from  ww w  . ja  v  a  2 s .c  o m*/
    Double chartT;

    XYPlot plot = (XYPlot) chartPanel.getChart().getPlot();
    chartX = plot.getRangeAxis().java2DToValue(
            chartPanel.translateScreenToJava2D(arg0.getTrigger().getPoint()).getY(),
            chartPanel.getScreenDataArea(), plot.getRangeAxisEdge());
    chartT = plot.getDomainAxis().java2DToValue(
            chartPanel.translateScreenToJava2D(arg0.getTrigger().getPoint()).getX(),
            chartPanel.getScreenDataArea(), plot.getDomainAxisEdge());

    //simuladorGUI.actualizarPosicionCursor(chartX, chartT);

}

From source file:com.intel.stl.ui.common.view.JumpChartPanel.java

@Override
public void chartMouseClicked(ChartMouseEvent cme) {
    if (!SwingUtilities.isLeftMouseButton(cme.getTrigger())) {
        return;//from www.  ja v a  2s  . co  m
    }

    ChartEntity xyItem = cme.getEntity();
    if (xyItem instanceof CategoryLabelEntity) {
        jumpToEntity = (CategoryLabelEntity) xyItem;
        fireJumpEvent(jumpToEntity.getKey(), JumpDestination.DEFAULT);
    }
}

From source file:dbseer.gui.events.InformationChartMouseListener.java

@Override
public void chartMouseMoved(ChartMouseEvent event) {
    Rectangle2D dataArea = chartPanel.getScreenDataArea();
    JFreeChart chart = event.getChart();
    XYPlot plot = (XYPlot) chart.getPlot();
    ValueAxis xAxis = plot.getDomainAxis();
    double x = xAxis.java2DToValue(event.getTrigger().getX(), dataArea, RectangleEdge.BOTTOM);
    chartPanel.getVerticalCrossHair().setValue(x);
}

From source file:org.adempiere.apps.graph.Graph.java

public void chartMouseClicked(ChartMouseEvent event) {
    if ((event.getEntity() != null) && (event.getTrigger().getClickCount() > 1)) {
        setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        try {//from   w  w  w  .j  a  v a 2  s.c  om
            GraphColumn bgc = getGraphColumn(event);
            if (bgc == null) {
                return;
            }

            MQuery query = bgc.getMQuery(builder.getMGoal());
            if (query != null)
                AEnv.zoom(query);
            else
                log.warning("Nothing to zoom to - " + bgc);
        } finally {
            setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
        }
    }
}

From source file:dbseer.gui.events.InformationChartMouseListener.java

@Override
public void chartMouseClicked(ChartMouseEvent event) {
    Rectangle2D dataArea = chartPanel.getScreenDataArea();
    JFreeChart chart = event.getChart();
    XYPlot plot = (XYPlot) chart.getPlot();
    ValueAxis xAxis = plot.getDomainAxis();
    int x = (int) Math.round(xAxis.java2DToValue(event.getTrigger().getX(), dataArea, RectangleEdge.BOTTOM));

    XYDataset dataset = plot.getDataset();
    int maxX = DatasetUtilities.findMaximumDomainValue(dataset).intValue();
    if (x >= 1 && x <= maxX) {
        int seriesCount = dataset.getSeriesCount();
        int[] mixtures = new int[seriesCount - 1];
        int total = 0;
        for (int i = 0; i < seriesCount - 1; ++i) {
            mixtures[i] = (int) dataset.getYValue(i, x - 1);
            total += mixtures[i];//from w  w  w . j  a v  a 2s .c  o m
        }
        for (int i = 0; i < seriesCount - 1; ++i) {
            mixtures[i] = (int) Math.round((double) mixtures[i] / (double) total * 100.0);
            tpsMixturePanel.setMixture(i, mixtures[i]);
        }
    }
}

From source file:org.mwc.debrief.sensorfusion.views.MouseClickSolutionDemo.java

/**
 * @param title/*from  w ww .jav  a 2 s .c  o  m*/
 *            the frame title.
 */
public MouseClickSolutionDemo(final String title) {
    super(title);

    final TimeSeries s1 = new TimeSeries("Series to click");
    s1.add(new Month(2, 2001), 181.8);
    s1.add(new Month(3, 2001), 167.3);
    s1.add(new Month(4, 2001), 153.8);
    s1.add(new Month(5, 2001), 167.6);
    s1.add(new Month(6, 2001), 152.8);
    s1.add(new Month(7, 2001), 148.3);
    s1.add(new Month(8, 2001), 153.9);
    s1.add(new Month(9, 2001), 142.7);
    s1.add(new Month(10, 2001), 123.2);

    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(s1);

    final JFreeChart chart = ChartFactory.createTimeSeriesChart("[Alt]-click to switch orientation", // title
            "Time axis", // x-axis label
            "Value axis", // y-axis label
            dataset, // data
            false, // create legend?
            false, // generate tooltips?
            false // generate URLs?
    );

    //FIX IS HERE
    fixProblem(chart);

    final ChartPanel chartPanel = new ChartPanel(chart);

    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));

    chartPanel.addChartMouseListener(new ChartMouseListener() {
        public void chartMouseMoved(final ChartMouseEvent arg0) {
        }

        public void chartMouseClicked(final ChartMouseEvent arg0) {
            System.out.println("clicked on:" + arg0.getEntity());

            if (arg0.getTrigger().isAltDown()) {
                if (chart.getXYPlot().getOrientation() == PlotOrientation.HORIZONTAL)
                    chart.getXYPlot().setOrientation(PlotOrientation.VERTICAL);
                else
                    chart.getXYPlot().setOrientation(PlotOrientation.HORIZONTAL);
            }
        }
    });
    setContentPane(chartPanel);
}

From source file:edu.ucla.stat.SOCR.motionchart.MotionMouseListener.java

/**
 * Callback method for receiving notification of a mouse click on a chart.
 *
 * @param event information about the event.
 *///from w  w  w.j ava  2s  .c o m
public void chartMouseClicked(ChartMouseEvent event) {
    if (event.getTrigger().getClickCount() > 1) {
        if (event.getEntity() instanceof XYItemEntity) {
            XYItemEntity item = (XYItemEntity) event.getEntity();
            Component c = event.getTrigger().getComponent();
            final JDialog dialog = new JDialog(JOptionPane.getFrameForComponent(c), "Item Data", false);
            dialog.setSize(400, 300);
            dialog.setLocation(getDialogLocation(dialog, c));
            dialog.add(getItemPanel(dialog, item, event));
            dialog.setVisible(true);
        } else {
            XYItemEntity item = (XYItemEntity) event.getEntity();
            Component c = event.getTrigger().getComponent();
            final JDialog dialog = new JDialog(JOptionPane.getFrameForComponent(c), "Item Data", false);
            dialog.setSize(400, 300);
            dialog.setLocation(getDialogLocation(dialog, c));
            dialog.add(getSeriesPanel(dialog, event));
            dialog.setVisible(true);
        }
    } else {
        if (!(event.getChart().getXYPlot().getRenderer() instanceof MotionBubbleRenderer)) {
            return;
        }

        MotionBubbleRenderer renderer = (MotionBubbleRenderer) event.getChart().getXYPlot().getRenderer();
        MotionDataSet dataset = (MotionDataSet) event.getChart().getXYPlot().getDataset();

        if (event.getEntity() instanceof XYItemEntity) {
            boolean selected;
            XYItemEntity entity = (XYItemEntity) event.getEntity();
            int series = entity.getSeriesIndex();
            int item = entity.getItem();
            Object category = dataset.getCategory(series, item);

            if (category == null) {
                selected = !renderer.isSelectedItem(series, item);
                renderer.setSelectedItem(series, item, selected);
            } else {
                selected = !renderer.isSelectedCategory(category);
                renderer.setSelectedCategory(category, selected);
            }
        }
    }
}

From source file:org.cds06.speleograph.GraphPanel.java

/**
 * Callback method when click on a graph location.
 *
 * @param event information about the event.
 *//*from  w ww .java 2  s .c o m*/
@Override
public void chartMouseClicked(ChartMouseEvent event) {

    if (event.getEntity() instanceof AxisEntity) {
        AxisEntity entity = (AxisEntity) event.getEntity();
        if (event.getTrigger().getButton() == MouseEvent.BUTTON1 && event.getTrigger().getClickCount() == 2) {
            if (entity.getAxis() instanceof NumberAxis)
                editNumberAxis((NumberAxis) entity.getAxis());
            else if (entity.getAxis() instanceof DateAxis)
                editDateAxis();
        }
    }
}

From source file:edu.cmu.sv.modelinference.eventtool.charting.DataChart.java

private void createChartPanel(JFreeChart chart) {
    chartPanel = new ChartPanel(chart);

    chartPanel.addChartMouseListener(new ChartMouseListener() {

        @Override//  w w w  . jav a2  s. co m
        public void chartMouseClicked(ChartMouseEvent arg0) {
            //ignore
        }

        @Override
        public void chartMouseMoved(ChartMouseEvent event) {
            Rectangle2D dataArea = chartPanel.getScreenDataArea();
            JFreeChart chart = event.getChart();
            XYPlot plot = (XYPlot) chart.getPlot();
            ValueAxis xAxis = plot.getDomainAxis();
            double x = xAxis.java2DToValue(event.getTrigger().getX(), dataArea, RectangleEdge.BOTTOM);
            ValueAxis yAxis = plot.getRangeAxis();
            double y = yAxis.java2DToValue(event.getTrigger().getY(), dataArea, RectangleEdge.LEFT);

            //Alternatively, obtain y for one of the subplots, which would be very neat.
            //We should find the "nearest" subplot to the cursor -- this is easy
            //double y = DatasetUtilities.findYValue(plot.getDataset(), 0, x);
            xCrosshair.setValue(x);
            yCrosshair.setValue(y);
        }
    });

    CrosshairOverlay crosshairOverlay = new CrosshairOverlay();
    xCrosshair = new Crosshair(Double.NaN, Color.GRAY, new BasicStroke(0f));
    xCrosshair.setLabelVisible(true);
    yCrosshair = new Crosshair(Double.NaN, Color.GRAY, new BasicStroke(0f));
    yCrosshair.setLabelVisible(true);
    crosshairOverlay.addDomainCrosshair(xCrosshair);
    crosshairOverlay.addRangeCrosshair(yCrosshair);
    chartPanel.addOverlay(crosshairOverlay);

    chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
    setContentPane(chartPanel);
}