List of usage examples for org.jfree.chart.event ChartChangeEvent ChartChangeEvent
public ChartChangeEvent(Object source, JFreeChart chart, ChartChangeEventType type)
From source file:statistic.graph.Controller.java
public void notify(DiagramEvent event) { LOGGER.entering("Controller", "notify", event); DiagramData data = event.getDiagram(); if (data == null) { return;/*from ww w . java2s .c om*/ } if (event instanceof DiagramChangedEvent) { ChartPanel chartPanel = chartPanels.get(data); if (chartPanel != null) { if (event instanceof DiagramTitleChangedEvent) { chartPanel.getChart().setTitle(((DiagramTitleChangedEvent) event).getNewTitle()); } else if (event instanceof DiagramXAxisLabelChangedEvent) { chartPanel.getChart().getXYPlot().getDomainAxis() .setLabel(((DiagramXAxisLabelChangedEvent) event).getNewXAxisLabel()); } else if (event instanceof DiagramYAxisLabelChangedEvent) { chartPanel.getChart().getXYPlot().getRangeAxis() .setLabel(((DiagramYAxisLabelChangedEvent) event).getNewYAxisLabel()); } else { throw new AssertionError("This should not happen."); } chartPanel.chartChanged( new ChartChangeEvent(event, chartPanel.getChart(), ChartChangeEventType.GENERAL)); } } else if (event instanceof DiagramSelectionChangedEvent) { } else { if (event instanceof DiagramAddedEvent) { if (data.getType() == DiagramType.TABLE) { JTable table = createTable(data); JScrollPane pane = new JScrollPane(table); pane.setPreferredSize(new Dimension(scrollPane.getWidth() / 2 - 14, 300)); tableScrollPanes.put(data, pane); contentPane.add(pane); } else { ChartPanel chartPanel = createChartPanel(data); //chartPanel.setPreferredSize(new Dimension(scrollPane.getWidth() / 2 - 14, 300)); chartPanels.put(data, chartPanel); contentPane.add(chartPanel); } } else if (event instanceof DiagramRemovedEvent) { if (data.getType() == DiagramType.TABLE) { JScrollPane pane = tableScrollPanes.remove(data); contentPane.remove(pane); } else { ChartPanel chartPanel = chartPanels.remove(data); contentPane.remove(chartPanel); } } else if (event instanceof DiagramSequenceChangedEvent) { DiagramData data2 = ((DiagramSequenceChangedEvent) event).getDiagram2(); Component component1 = getComponent(data); LOGGER.finest("1. Komponente: " + component1); Component component2 = getComponent(data2); LOGGER.finest("2. Komponente: " + component2); int index = 0; for (Component component : contentPane.getComponents()) { if (component == component1) { break; } index++; } LOGGER.finest("1. Komponente befindet sich an Index: " + index); LOGGER.finest("Entferne 2. Komponente"); contentPane.remove(component2); LOGGER.finest("Fge 2. Komponent an Index " + index + " wieder ein."); contentPane.add(component2, index); } else if (event instanceof DiagramTypeChangedEvent) { Component component = null; if (chartPanels.containsKey(data)) { component = chartPanels.get(data); } else if (tableScrollPanes.containsKey(data)) { component = tableScrollPanes.get(data); } int index = 0; for (Component c : contentPane.getComponents()) { if (c == component) { break; } index++; } contentPane.remove(component); if (component instanceof ChartPanel) { chartPanels.remove(data); } else if (component instanceof JScrollPane) { tableScrollPanes.remove(data); } if (data.getType() == DiagramType.TABLE) { JTable table = createTable(data); JScrollPane pane = new JScrollPane(table); pane.setPreferredSize(new Dimension(scrollPane.getWidth() / 2 - 14, 300)); component = pane; tableScrollPanes.put(data, pane); } else { ChartPanel panel = createChartPanel(data); component = panel; chartPanels.put(data, panel); } contentPane.add(component, index); } else { throw new AssertionError("This should not happen."); } scrollPane.validate(); scrollPane.repaint(); } }