Example usage for org.jfree.chart ChartPanel addMouseListener

List of usage examples for org.jfree.chart ChartPanel addMouseListener

Introduction

In this page you can find the example usage for org.jfree.chart ChartPanel addMouseListener.

Prototype

public synchronized void addMouseListener(MouseListener l) 

Source Link

Document

Adds the specified mouse listener to receive mouse events from this component.

Usage

From source file:ec.util.chart.swing.Charts.java

/**
 * need focus for inputmap//w  w w  . j a  v a 2s. c  o m
 *
 * @param p
 * @return
 */
@Nonnull
public static ChartPanel enableFocusOnClick(@Nonnull ChartPanel p) {
    p.addMouseListener(FOCUS_ON_CLICK);
    return p;
}

From source file:org.hxzon.demo.jfreechart.PieDatasetDemo2.java

public PieDatasetDemo2(String title) {
    super(title);
    ChartPanel chartPanel = new ChartPanel(pieChart);
    chartPanel.setFillZoomRectangle(true);
    chartPanel.setMouseWheelEnabled(true);
    chartPanel.addMouseListener(new MyChartClickHandler(chartPanel));
    chartPanel.setPreferredSize(new Dimension(500, 270));
    getContentPane().add(chartPanel);//from  w  w  w  .  ja v  a  2 s . c  om
    getContentPane().add(new ChartComboBox(chartPanel), BorderLayout.SOUTH);
}

From source file:wef.articulab.view.ui.CombinedBNXYPlot.java

/**
 * Creates a panel for the demo (used by SuperDemo.java).
 *
 * @return A panel.//from   w ww.ja v a2 s .  com
 */
public JPanel createChartPanel(ChartContainer chartContainer) {
    chartContainer.chart = createChart(chartContainer);
    ChartPanel panel = new ChartPanel(chartContainer.chart);
    panel.setPreferredSize(new Dimension(970, 370));
    panel.addMouseListener(new MouseListener() {
        @Override
        public void mouseClicked(MouseEvent e) {
            if (DMmain.pause) {
                DMmain.pause = false;
            } else {
                DMmain.pause = true;
            }
        }

        @Override
        public void mousePressed(MouseEvent e) {
        }

        @Override
        public void mouseReleased(MouseEvent e) {
        }

        @Override
        public void mouseEntered(MouseEvent e) {
        }

        @Override
        public void mouseExited(MouseEvent e) {
        }
    });
    return panel;
}

From source file:graphics.MainWindow.java

private void createChartPanel(JPanel panel, final int pos) {
    JPanel Panel = new JPanel();

    Panel.setBackground(new Color(157, 191, 160));
    final ChartPanel chart = this.World.getChart(pos);
    chart.setPreferredSize(new Dimension(100, 100));
    Panel.add(chart);//  w w  w . j a va2  s. c  o  m

    chart.addMouseListener(new MouseListener() {

        public void mouseClicked(MouseEvent arg0) {
            World.showChart(pos);
        }

        public void mousePressed(MouseEvent arg0) {
            World.showChart(pos);
        }

        public void mouseReleased(MouseEvent arg0) {
            World.showChart(pos);
        }

        public void mouseEntered(MouseEvent arg0) {
        }

        public void mouseExited(MouseEvent arg0) {
        }
    });
    panel.add("ChartPanel", Panel);
    ((CardLayout) panel.getLayout()).show(panel, "ChartPanel");
}

From source file:org.hxzon.demo.jfreechart.XYDatasetDemo2.java

public XYDatasetDemo2(String title) {
    super(title);
    ChartPanel chartPanel = new ChartPanel(timeSeriesChart);
    //have a bug after show tooltips
    //        chartPanel.setHorizontalAxisTrace(true);
    //        chartPanel.setVerticalAxisTrace(true);
    chartPanel.setFillZoomRectangle(true);
    chartPanel.setMouseWheelEnabled(true);
    chartPanel.addMouseListener(new MyChartClickHandler(chartPanel));
    chartPanel.setPreferredSize(new Dimension(500, 270));
    getContentPane().add(chartPanel);//from  w w w  .  j  a  v  a 2s  . c  o  m
    getContentPane().add(new ChartComboBox(chartPanel), BorderLayout.SOUTH);
}

From source file:org.hxzon.demo.jfreechart.OtherDatasetDemo.java

public OtherDatasetDemo(String title) {
    super(title);
    ChartPanel chartPanel = new ChartPanel(bubbleChart);
    //have a bug after show tooltips
    //        chartPanel.setHorizontalAxisTrace(true);
    //        chartPanel.setVerticalAxisTrace(true);
    chartPanel.setFillZoomRectangle(true);
    chartPanel.setMouseWheelEnabled(true);
    chartPanel.addMouseListener(new MyChartClickHandler(chartPanel));
    chartPanel.setPreferredSize(new Dimension(500, 270));
    getContentPane().add(chartPanel);/*  ww  w.  jav a  2  s  . co m*/
    getContentPane().add(new ChartComboBox(chartPanel), BorderLayout.SOUTH);
}

From source file:org.hxzon.demo.jfreechart.CategoryDatasetDemo2.java

public CategoryDatasetDemo2(String title) {
    super(title);
    ChartPanel chartPanel = new ChartPanel(barChart);
    //have a bug after show tooltips
    //        chartPanel.setHorizontalAxisTrace(true);
    //        chartPanel.setVerticalAxisTrace(true);
    chartPanel.setFillZoomRectangle(true);
    chartPanel.setMouseWheelEnabled(true);
    chartPanel.addMouseListener(new MyChartClickHandler(chartPanel));
    chartPanel.setPreferredSize(new Dimension(500, 270));
    getContentPane().add(chartPanel);//ww w.  ja va 2 s .co m
    getContentPane().add(new ChartComboBox(chartPanel), BorderLayout.SOUTH);
}

From source file:org.gridchem.client.gui.panels.myccg.resource.HPCChartPanel.java

/**
 * Populate the display area with a multiple rows of graphs representing
 * the loads on each ComputeBean object within the HashSet.
 * @param resource//from  w  w w . j av  a  2  s  .c o m
 * @param chartType
 */
private JPanel createChartPanel() {

    JPanel chartPanel = new JPanel();

    if (CURRENT_CHARTTYPE.equals(ChartType.METER) || CURRENT_CHARTTYPE.equals(ChartType.PIE)) {

        chartPanel.setLayout(new GridLayout(resources.size(), 1));

        LoadType[] loadTypes;

        if (CURRENT_LOADTYPE.equals(LoadType.SUMMARY)) {
            loadTypes = LoadType.values();
        } else {
            loadTypes = new LoadType[1];
            loadTypes[0] = CURRENT_LOADTYPE;
        }

        for (ComputeBean resource : resources) {
            // create a row to insert in the chartPanel
            JPanel multiChartPanelRow = new JPanel();
            multiChartPanelRow.setLayout(new GridBagLayout());
            GridBagConstraints c = new GridBagConstraints();

            // first part is name of the row
            c.weightx = 0;
            c.weighty = 0;
            c.gridx = 0;
            c.gridy = 0;
            c.fill = GridBagConstraints.NONE;
            multiChartPanelRow.add(new JLabel(resource.getName()));

            // chart row will take up the remainder of this panel.
            c.weightx = 1.0;
            c.weighty = 1.0;
            c.gridx = 0;
            c.gridy = 1;
            c.fill = GridBagConstraints.BOTH;

            JPanel chartRow = new JPanel();
            chartRow.setLayout(new GridLayout(1, (LoadType.values().length - 1)));

            for (int i = 0; i < ((loadTypes.length == 1) ? 1 : loadTypes.length - 1); i++) {
                JFreeChart chart = createChart(resource, CURRENT_CHARTTYPE, loadTypes[i]);

                ChartPanel cp = new ChartPanel(chart);

                cp.setPreferredSize(new Dimension(40, 45));

                cp.addMouseListener(new MouseListener() {
                    public void mouseClicked(MouseEvent event) {
                        // if they double click on the graph, then zoom in on it and
                        // make it the single display in the screen.
                        if (event.getClickCount() == 2) {
                            if (zoomOnSingleChart) {
                                zoomOnSingleChart = false;
                                setChartDisplayType(CURRENT_CHARTTYPE);
                            } else {
                                zoomOnSingleChart = true;
                                removeAll();
                                GridBagConstraints c = new GridBagConstraints();
                                c.weightx = 1.0;
                                c.weighty = 1.0;
                                c.gridx = 0;
                                c.gridy = 0;
                                c.fill = GridBagConstraints.BOTH;
                                add((ChartPanel) event.getSource(), c);
                                c.weightx = 0;
                                c.weighty = 0;
                                c.gridx = 0;
                                c.gridy = 1;
                                add(createSelectionBar(), c);
                                revalidate();
                            }
                        }

                    }

                    public void mousePressed(MouseEvent arg0) {
                    }

                    public void mouseReleased(MouseEvent arg0) {
                    }

                    public void mouseEntered(MouseEvent arg0) {
                    }

                    public void mouseExited(MouseEvent arg0) {
                    }
                });

                chartRow.add(cp);
            }
            multiChartPanelRow.add(chartRow, c);
            chartPanel.add(multiChartPanelRow);

        }
    } else {
        chartPanel.setLayout(new GridLayout(1, 1));
        JFreeChart chart = createChart(resources, CURRENT_CHARTTYPE, CURRENT_LOADTYPE);
        ChartPanel cp = new ChartPanel(chart);
        cp.setPreferredSize(new Dimension(40, 45));
        chartPanel.add(cp);
    }

    return chartPanel;

}

From source file:net.bioclipse.plugins.views.ChartView.java

/**
 * Displays a chart in ChartView and sets up its mouse listener
 * @param chart/*from   ww w .  j  a va2s  .  co  m*/
 */
public void display(JFreeChart chart) {
    final ChartDescriptor cd = ChartUtils.getChartDescriptor(chart);

    JFreeChartTab chartTab = new JFreeChartTab(tabFolder, SWT.CLOSE);
    chartTab.setText(chart.getTitle().getText());
    chartTab.setChart(chart);

    Composite composite = new Composite(tabFolder, SWT.EMBEDDED | SWT.NO_BACKGROUND);
    chartTab.setControl(composite);

    frame = SWT_AWT.new_Frame(composite);

    final ChartPanel chartPanel = new ChartPanel(chart);

    //Since methods are called on a java.awt.Frame it has to be called on the swing/awt thread 
    SwingUtilities.invokeLater(new Runnable() {

        public void run() {
            frame.removeAll();
            frame.add(chartPanel);
            frame.setVisible(true);

            if (cd.getPlotType() == ChartConstants.SCATTER_PLOT) {
                //Listens for mouseclicks on points
                XYPlot plot = (XYPlot) chartPanel.getChart().getPlot();
                plot.setRenderer(new ScatterPlotRenderer(false, true));

                if (ChartView.IS_MACOS) {
                    frame.addMouseListener(pmh);
                    frame.addMouseMotionListener(pmh);
                } else {
                    chartPanel.addMouseListener(pmh);
                    frame.addMouseMotionListener(pmh);
                }
            }
        }
    });
    tabFolder.setSelection(chartTab);
    tabFolder.forceFocus();
    tabFolder.layout();
    ChartUtils.setActiveChart(chart);

    //Make sure actions are enabled when the chart has been created
    saveImageActionJPG.setEnabled(true);
    saveImageActionPNG.setEnabled(true);
    saveImageActionSVG.setEnabled(true);
}

From source file:com.rapidminer.gui.viewer.metadata.AttributeStatisticsPanel.java

/**
 * Updates the charts.//from w w  w . j av  a 2  s  . c  om
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
private void updateCharts() {
    for (int i = 0; i < listOfChartPanels.size(); i++) {
        JPanel panel = listOfChartPanels.get(i);
        panel.removeAll();
        final ChartPanel chartPanel = new ChartPanel(getModel().getChartOrNull(i)) {

            private static final long serialVersionUID = -6953213567063104487L;

            @Override
            public Dimension getPreferredSize() {
                return DIMENSION_CHART_PANEL_ENLARGED;
            }
        };
        chartPanel.setPopupMenu(null);
        chartPanel.setBackground(COLOR_TRANSPARENT);
        chartPanel.setOpaque(false);
        chartPanel.addMouseListener(enlargeAndHoverAndPopupMouseAdapter);
        panel.add(chartPanel, BorderLayout.CENTER);

        JPanel openChartPanel = new JPanel(new GridBagLayout());
        openChartPanel.setOpaque(false);

        GridBagConstraints gbc = new GridBagConstraints();
        gbc.anchor = GridBagConstraints.CENTER;
        gbc.fill = GridBagConstraints.NONE;
        gbc.weightx = 1.0;
        gbc.weighty = 1.0;

        JButton openChartButton = new JButton(OPEN_CHART_ACTION);
        openChartButton.setOpaque(false);
        openChartButton.setContentAreaFilled(false);
        openChartButton.setBorderPainted(false);
        openChartButton.addMouseListener(enlargeAndHoverAndPopupMouseAdapter);
        openChartButton.setHorizontalAlignment(SwingConstants.LEFT);
        openChartButton.setHorizontalTextPosition(SwingConstants.LEFT);
        openChartButton.setIcon(null);
        Font font = openChartButton.getFont();
        Map attributes = font.getAttributes();
        attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
        openChartButton.setFont(font.deriveFont(attributes).deriveFont(10.0f));

        openChartPanel.add(openChartButton, gbc);

        panel.add(openChartPanel, BorderLayout.SOUTH);
        panel.revalidate();
        panel.repaint();
    }
}