Java 类org.jfree.chart.event.ChartChangeListener 实例源码

项目:open-java-trade-manager    文件:ChartJDialog.java   
private ChartChangeListener getChartChangeListner() {
    return new ChartChangeListener() {
        @Override
        public void chartChanged(ChartChangeEvent event) {
            // Is weird. This works well for zoom-in. When we add new CCI or
            // RIS. This event function will be triggered too. However, the
            // returned draw area will always be the old draw area, unless
            // you move your move over.
            // Even I try to capture event.getType() == ChartChangeEventType.NEW_DATASET
            // also doesn't work.
            if (event.getType() == ChartChangeEventType.GENERAL) {
                ChartJDialog.this.chartLayerUI.updateTraceInfos();
                // Re-calculating high low value.
                ChartJDialog.this.updateHighLowJLabels();
            }
        }
    };
}
项目:parabuild-ci    文件:JFreeChart.java   
/**
 * Registers an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted).
 */
public void addChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.add(ChartChangeListener.class, listener);
}
项目:parabuild-ci    文件:JFreeChart.java   
/**
 * Deregisters an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted)
 */
public void removeChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.remove(ChartChangeListener.class, listener);
}
项目:parabuild-ci    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the notification.
 */
protected void notifyListeners(ChartChangeEvent event) {

    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(event);
            }
        }
    }

}
项目:parabuild-ci    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the 
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:ccu-historian    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:jfreechart    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:aya-lang    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:HTML5_WebSite    文件:MotionChart.java   
/**
 * Deregisters an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted)
 *
 * @see #addChangeListener(ChartChangeListener)
 */
public void removeChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }

    this.changeListeners.remove(ChartChangeListener.class, listener);
}
项目:HTML5_WebSite    文件:MotionChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:HTML5_WebSite    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:populus    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:PI    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:nabs    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the 
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:ECG-Viewer    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:astor    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:opensim-gui    文件:JFreeChart.java   
/**
 * Registers an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted).
 */
public void addChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.add(ChartChangeListener.class, listener);
}
项目:opensim-gui    文件:JFreeChart.java   
/**
 * Deregisters an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted)
 */
public void removeChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.remove(ChartChangeListener.class, listener);
}
项目:opensim-gui    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the 
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:group-five    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:manydesigns.cn    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 * 
 * @param event information about the event that triggered the notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(event);
            }
        }
    }
}
项目:buffer_bci    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:buffer_bci    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:proyecto-teoria-control-utn-frro    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:Memetic-Algorithm-for-TSP    文件:JFreeChart.java   
/**
 * Sends a {@link ChartChangeEvent} to all registered listeners.
 *
 * @param event  information about the event that triggered the
 *               notification.
 */
protected void notifyListeners(ChartChangeEvent event) {
    if (this.notify) {
        Object[] listeners = this.changeListeners.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == ChartChangeListener.class) {
                ((ChartChangeListener) listeners[i + 1]).chartChanged(
                        event);
            }
        }
    }
}
项目:SMVHunter    文件:EventDisplay.java   
Control createCompositeChart(final Composite parent, EventLogParser logParser,
        String title) {
    mChart = ChartFactory.createTimeSeriesChart(
            null,
            null /* timeAxisLabel */,
            null /* valueAxisLabel */,
            null, /* dataset. set below */
            true /* legend */,
            false /* tooltips */,
            false /* urls */);

    // get the font to make a proper title. We need to convert the swt font,
    // into an awt font.
    Font f = parent.getFont();
    FontData[] fData = f.getFontData();

    // event though on Mac OS there could be more than one fontData, we'll only use
    // the first one.
    FontData firstFontData = fData[0];

    java.awt.Font awtFont = SWTUtils.toAwtFont(parent.getDisplay(),
            firstFontData, true /* ensureSameSize */);


    mChart.setTitle(new TextTitle(title, awtFont));

    final XYPlot xyPlot = mChart.getXYPlot();
    xyPlot.setRangeCrosshairVisible(true);
    xyPlot.setRangeCrosshairLockedOnData(true);
    xyPlot.setDomainCrosshairVisible(true);
    xyPlot.setDomainCrosshairLockedOnData(true);

    mChart.addChangeListener(new ChartChangeListener() {
        @Override
        public void chartChanged(ChartChangeEvent event) {
            ChartChangeEventType type = event.getType();
            if (type == ChartChangeEventType.GENERAL) {
                // because the value we need (rangeCrosshair and domainCrosshair) are
                // updated on the draw, but the notification happens before the draw,
                // we process the click in a future runnable!
                parent.getDisplay().asyncExec(new Runnable() {
                    @Override
                    public void run() {
                        processClick(xyPlot);
                    }
                });
            }
        }
    });

    mChartComposite = new ChartComposite(parent, SWT.BORDER, mChart,
            ChartComposite.DEFAULT_WIDTH,
            ChartComposite.DEFAULT_HEIGHT,
            ChartComposite.DEFAULT_MINIMUM_DRAW_WIDTH,
            ChartComposite.DEFAULT_MINIMUM_DRAW_HEIGHT,
            3000, // max draw width. We don't want it to zoom, so we put a big number
            3000, // max draw height. We don't want it to zoom, so we put a big number
            true,  // off-screen buffer
            true,  // properties
            true,  // save
            true,  // print
            true,  // zoom
            true);   // tooltips

    mChartComposite.addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(DisposeEvent e) {
            mValueTypeDataSetMap.clear();
            mDataSetCount = 0;
            mOccurrenceDataSet = null;
            mChart = null;
            mChartComposite = null;
            mValueDescriptorSeriesMap.clear();
            mOcurrenceDescriptorSeriesMap.clear();
        }
    });

    return mChartComposite;

}
项目:ControlAndroidDeviceFromPC    文件:EventDisplay.java   
Control createCompositeChart(final Composite parent, EventLogParser logParser,
        String title) {
    mChart = ChartFactory.createTimeSeriesChart(
            null,
            null /* timeAxisLabel */,
            null /* valueAxisLabel */,
            null, /* dataset. set below */
            true /* legend */,
            false /* tooltips */,
            false /* urls */);

    // get the font to make a proper title. We need to convert the swt font,
    // into an awt font.
    Font f = parent.getFont();
    FontData[] fData = f.getFontData();

    // event though on Mac OS there could be more than one fontData, we'll only use
    // the first one.
    FontData firstFontData = fData[0];

    java.awt.Font awtFont = SWTUtils.toAwtFont(parent.getDisplay(),
            firstFontData, true /* ensureSameSize */);


    mChart.setTitle(new TextTitle(title, awtFont));

    final XYPlot xyPlot = mChart.getXYPlot();
    xyPlot.setRangeCrosshairVisible(true);
    xyPlot.setRangeCrosshairLockedOnData(true);
    xyPlot.setDomainCrosshairVisible(true);
    xyPlot.setDomainCrosshairLockedOnData(true);

    mChart.addChangeListener(new ChartChangeListener() {
        @Override
        public void chartChanged(ChartChangeEvent event) {
            ChartChangeEventType type = event.getType();
            if (type == ChartChangeEventType.GENERAL) {
                // because the value we need (rangeCrosshair and domainCrosshair) are
                // updated on the draw, but the notification happens before the draw,
                // we process the click in a future runnable!
                parent.getDisplay().asyncExec(new Runnable() {
                    @Override
                    public void run() {
                        processClick(xyPlot);
                    }
                });
            }
        }
    });

    mChartComposite = new ChartComposite(parent, SWT.BORDER, mChart,
            ChartComposite.DEFAULT_WIDTH,
            ChartComposite.DEFAULT_HEIGHT,
            ChartComposite.DEFAULT_MINIMUM_DRAW_WIDTH,
            ChartComposite.DEFAULT_MINIMUM_DRAW_HEIGHT,
            3000, // max draw width. We don't want it to zoom, so we put a big number
            3000, // max draw height. We don't want it to zoom, so we put a big number
            true,  // off-screen buffer
            true,  // properties
            true,  // save
            true,  // print
            true,  // zoom
            true);   // tooltips

    mChartComposite.addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(DisposeEvent e) {
            mValueTypeDataSetMap.clear();
            mDataSetCount = 0;
            mOccurrenceDataSet = null;
            mChart = null;
            mChartComposite = null;
            mValueDescriptorSeriesMap.clear();
            mOcurrenceDescriptorSeriesMap.clear();
        }
    });

    return mChartComposite;

}
项目:parabuild-ci    文件:JFreeChart.java   
/**
 * Registers an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted).
 * 
 * @see #removeChangeListener(ChartChangeListener)
 */
public void addChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.add(ChartChangeListener.class, listener);
}
项目:parabuild-ci    文件:JFreeChart.java   
/**
 * Deregisters an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted)
 * 
 * @see #addChangeListener(ChartChangeListener)
 */
public void removeChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.remove(ChartChangeListener.class, listener);
}
项目:HTML5_WebSite    文件:MotionChart.java   
/**
 * Registers an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted).
 *
 * @see #removeChangeListener(ChartChangeListener)
 */
public void addChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.add(ChartChangeListener.class, listener);
}
项目:HTML5_WebSite    文件:JFreeChart.java   
/**
 * Registers an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted).
 *
 * @see #removeChangeListener(ChartChangeListener)
 */
public void addChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.add(ChartChangeListener.class, listener);
}
项目:HTML5_WebSite    文件:JFreeChart.java   
/**
 * Deregisters an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted)
 *
 * @see #addChangeListener(ChartChangeListener)
 */
public void removeChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.remove(ChartChangeListener.class, listener);
}
项目:PI    文件:JFreeChart.java   
/**
 * Registers an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted).
 *
 * @see #removeChangeListener(ChartChangeListener)
 */
public void addChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.add(ChartChangeListener.class, listener);
}
项目:PI    文件:JFreeChart.java   
/**
 * Deregisters an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted)
 *
 * @see #addChangeListener(ChartChangeListener)
 */
public void removeChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.remove(ChartChangeListener.class, listener);
}
项目:nabs    文件:JFreeChart.java   
/**
 * Registers an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted).
 * 
 * @see #removeChangeListener(ChartChangeListener)
 */
public void addChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.add(ChartChangeListener.class, listener);
}
项目:nabs    文件:JFreeChart.java   
/**
 * Deregisters an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted)
 * 
 * @see #addChangeListener(ChartChangeListener)
 */
public void removeChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.remove(ChartChangeListener.class, listener);
}
项目:astor    文件:JFreeChart.java   
/**
 * Registers an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted).
 *
 * @see #removeChangeListener(ChartChangeListener)
 */
public void addChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.add(ChartChangeListener.class, listener);
}
项目:astor    文件:JFreeChart.java   
/**
 * Deregisters an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted)
 *
 * @see #addChangeListener(ChartChangeListener)
 */
public void removeChangeListener(ChartChangeListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException("Null 'listener' argument.");
    }
    this.changeListeners.remove(ChartChangeListener.class, listener);
}
项目:ccu-historian    文件:JFreeChart.java   
/**
 * Registers an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted).
 *
 * @see #removeChangeListener(ChartChangeListener)
 */
public void addChangeListener(ChartChangeListener listener) {
    ParamChecks.nullNotPermitted(listener, "listener");
    this.changeListeners.add(ChartChangeListener.class, listener);
}
项目:ccu-historian    文件:JFreeChart.java   
/**
 * Deregisters an object for notification of changes to the chart.
 *
 * @param listener  the listener (<code>null</code> not permitted)
 *
 * @see #addChangeListener(ChartChangeListener)
 */
public void removeChangeListener(ChartChangeListener listener) {
    ParamChecks.nullNotPermitted(listener, "listener");
    this.changeListeners.remove(ChartChangeListener.class, listener);
}