List of usage examples for org.jfree.chart ChartMouseEvent getTrigger
public MouseEvent getTrigger()
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); }