org.jfree.data.general.DatasetChangeEvent Java Examples

The following examples show how to use org.jfree.data.general.DatasetChangeEvent. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: MultiplePiePlot.java    From SIMVA-SoS with Apache License 2.0 6 votes vote down vote up
/**
 * Sets the dataset used by the plot and sends a {@link PlotChangeEvent}
 * to all registered listeners.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(CategoryDataset dataset) {
    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    if (this.dataset != null) {
        this.dataset.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self to trigger plot change event
    datasetChanged(new DatasetChangeEvent(this, dataset));
}
 
Example #2
Source File: MultiplePiePlot.java    From openstock with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Sets the dataset used by the plot and sends a {@link PlotChangeEvent}
 * to all registered listeners.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(CategoryDataset dataset) {
    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    if (this.dataset != null) {
        this.dataset.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self to trigger plot change event
    datasetChanged(new DatasetChangeEvent(this, dataset));
}
 
Example #3
Source File: PolarPlot.java    From SIMVA-SoS with Apache License 2.0 6 votes vote down vote up
/**
 * Receives notification of a change to the plot's m_Dataset.
 * <P>
 * The axis ranges are updated if necessary.
 *
 * @param event  information about the event (not used here).
 */
@Override
public void datasetChanged(DatasetChangeEvent event) {
    for (int i = 0; i < this.axes.size(); i++) {
        final ValueAxis axis = (ValueAxis) this.axes.get(i);
        if (axis != null) {
            axis.configure();
        }
    }
    if (getParent() != null) {
        getParent().datasetChanged(event);
    }
    else {
        super.datasetChanged(event);
    }
}
 
Example #4
Source File: DialPlot.java    From openstock with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Sets a dataset for the plot.
 *
 * @param index  the dataset index.
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(int index, ValueDataset dataset) {

    ValueDataset existing = (ValueDataset) this.datasets.get(index);
    if (existing != null) {
        existing.removeChangeListener(this);
    }
    this.datasets.set(index, dataset);
    if (dataset != null) {
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self...
    DatasetChangeEvent event = new DatasetChangeEvent(this, dataset);
    datasetChanged(event);

}
 
Example #5
Source File: SpiderWebPlot.java    From openstock with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Sets the dataset used by the plot and sends a {@link PlotChangeEvent}
 * to all registered listeners.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 *
 * @see #getDataset()
 */
public void setDataset(CategoryDataset dataset) {
    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    if (this.dataset != null) {
        this.dataset.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self to trigger plot change event
    datasetChanged(new DatasetChangeEvent(this, dataset));
}
 
Example #6
Source File: CategoryPlot.java    From openstock with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Receives notification of a change to the plot's dataset.
 * <P>
 * The range axis bounds will be recalculated if necessary.
 *
 * @param event  information about the event (not used here).
 */
@Override
public void datasetChanged(DatasetChangeEvent event) {
    for (ValueAxis yAxis : this.rangeAxes.values()) {
        if (yAxis != null) {
            yAxis.configure();
        }
    }
    if (getParent() != null) {
        getParent().datasetChanged(event);
    } else {
        PlotChangeEvent e = new PlotChangeEvent(this);
        e.setType(ChartChangeEventType.DATASET_UPDATED);
        notifyListeners(e);
    }

}
 
Example #7
Source File: WaferMapPlot.java    From openstock with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Sets the dataset used by the plot and sends a {@link PlotChangeEvent}
 * to all registered listeners.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(WaferMapDataset dataset) {
    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    if (this.dataset != null) {
        this.dataset.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self to trigger plot change event
    datasetChanged(new DatasetChangeEvent(this, dataset));
}
 
Example #8
Source File: ContourPlot.java    From ccu-historian with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Sets the dataset for the plot, replacing the existing dataset if there
 * is one.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(ContourDataset dataset) {

    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    ContourDataset existing = this.dataset;
    if (existing != null) {
        existing.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self...
    DatasetChangeEvent event = new DatasetChangeEvent(this, dataset);
    datasetChanged(event);

}
 
Example #9
Source File: MultiplePiePlot.java    From ccu-historian with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Sets the dataset used by the plot and sends a {@link PlotChangeEvent}
 * to all registered listeners.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(CategoryDataset dataset) {
    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    if (this.dataset != null) {
        this.dataset.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self to trigger plot change event
    datasetChanged(new DatasetChangeEvent(this, dataset));
}
 
Example #10
Source File: ContourPlot.java    From SIMVA-SoS with Apache License 2.0 6 votes vote down vote up
/**
 * Sets the dataset for the plot, replacing the existing dataset if there
 * is one.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(ContourDataset dataset) {

    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    ContourDataset existing = this.dataset;
    if (existing != null) {
        existing.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self...
    DatasetChangeEvent event = new DatasetChangeEvent(this, dataset);
    datasetChanged(event);

}
 
Example #11
Source File: 1_MultiplePiePlot.java    From SimFix with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Sets the dataset used by the plot and sends a {@link PlotChangeEvent}
 * to all registered listeners.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(CategoryDataset dataset) {
    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    if (this.dataset != null) {
        this.dataset.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self to trigger plot change event
    datasetChanged(new DatasetChangeEvent(this, dataset));
}
 
Example #12
Source File: 1_CategoryPlot.java    From SimFix with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Receives notification of a change to the plot's dataset.
 * <P>
 * The range axis bounds will be recalculated if necessary.
 *
 * @param event  information about the event (not used here).
 */
public void datasetChanged(DatasetChangeEvent event) {

    int count = this.rangeAxes.size();
    for (int axisIndex = 0; axisIndex < count; axisIndex++) {
        ValueAxis yAxis = getRangeAxis(axisIndex);
        if (yAxis != null) {
            yAxis.configure();
        }
    }
    if (getParent() != null) {
        getParent().datasetChanged(event);
    }
    else {
        PlotChangeEvent e = new PlotChangeEvent(this);
        e.setType(ChartChangeEventType.DATASET_UPDATED);
        notifyListeners(e);
    }

}
 
Example #13
Source File: MeterPlot.java    From SIMVA-SoS with Apache License 2.0 6 votes vote down vote up
/**
 * Sets the dataset for the plot, replacing the existing dataset if there
 * is one, and triggers a {@link PlotChangeEvent}.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 *
 * @see #getDataset()
 */
public void setDataset(ValueDataset dataset) {

    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    ValueDataset existing = this.dataset;
    if (existing != null) {
        existing.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self...
    DatasetChangeEvent event = new DatasetChangeEvent(this, dataset);
    datasetChanged(event);

}
 
Example #14
Source File: SimpleHistogramDataset.java    From openstock with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Adds an observation to the dataset (by incrementing the item count for
 * the appropriate bin).  A runtime exception is thrown if the value does
 * not fit into any bin.
 *
 * @param value  the value.
 * @param notify  send {@link DatasetChangeEvent} to listeners?
 */
public void addObservation(double value, boolean notify) {
    boolean placed = false;
    Iterator iterator = this.bins.iterator();
    while (iterator.hasNext() && !placed) {
        SimpleHistogramBin bin = (SimpleHistogramBin) iterator.next();
        if (bin.accepts(value)) {
            bin.setItemCount(bin.getItemCount() + 1);
            placed = true;
        }
    }
    if (!placed) {
        throw new RuntimeException("No bin.");
    }
    if (notify) {
        notifyListeners(new DatasetChangeEvent(this, this));
    }
}
 
Example #15
Source File: SpiderWebPlot.java    From ccu-historian with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Sets the dataset used by the plot and sends a {@link PlotChangeEvent}
 * to all registered listeners.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 *
 * @see #getDataset()
 */
public void setDataset(CategoryDataset dataset) {
    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    if (this.dataset != null) {
        this.dataset.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self to trigger plot change event
    datasetChanged(new DatasetChangeEvent(this, dataset));
}
 
Example #16
Source File: CategoryPlot.java    From SIMVA-SoS with Apache License 2.0 6 votes vote down vote up
/**
 * Receives notification of a change to the plot's dataset.
 * <P>
 * The range axis bounds will be recalculated if necessary.
 *
 * @param event  information about the event (not used here).
 */
@Override
public void datasetChanged(DatasetChangeEvent event) {
    for (ValueAxis yAxis : this.rangeAxes.values()) {
        if (yAxis != null) {
            yAxis.configure();
        }
    }
    if (getParent() != null) {
        getParent().datasetChanged(event);
    } else {
        PlotChangeEvent e = new PlotChangeEvent(this);
        e.setType(ChartChangeEventType.DATASET_UPDATED);
        notifyListeners(e);
    }

}
 
Example #17
Source File: WaferMapPlot.java    From SIMVA-SoS with Apache License 2.0 6 votes vote down vote up
/**
 * Sets the dataset used by the plot and sends a {@link PlotChangeEvent}
 * to all registered listeners.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(WaferMapDataset dataset) {
    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    if (this.dataset != null) {
        this.dataset.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self to trigger plot change event
    datasetChanged(new DatasetChangeEvent(this, dataset));
}
 
Example #18
Source File: PolarPlot.java    From ccu-historian with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Receives notification of a change to the plot's m_Dataset.
 * <P>
 * The axis ranges are updated if necessary.
 *
 * @param event  information about the event (not used here).
 */
@Override
public void datasetChanged(DatasetChangeEvent event) {
    for (int i = 0; i < this.axes.size(); i++) {
        final ValueAxis axis = (ValueAxis) this.axes.get(i);
        if (axis != null) {
            axis.configure();
        }
    }
    if (getParent() != null) {
        getParent().datasetChanged(event);
    }
    else {
        super.datasetChanged(event);
    }
}
 
Example #19
Source File: 1_CategoryPlot.java    From SimFix with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Sets a dataset for the plot.
 *
 * @param index  the dataset index.
 * @param dataset  the dataset (<code>null</code> permitted).
 * 
 * @see #getDataset(int)
 */
public void setDataset(int index, CategoryDataset dataset) {
    
    CategoryDataset existing = (CategoryDataset) this.datasets.get(index);
    if (existing != null) {
        existing.removeChangeListener(this);
    }
    this.datasets.set(index, dataset);
    if (dataset != null) {
        dataset.addChangeListener(this);
    }
    
    // send a dataset change event to self...
    DatasetChangeEvent event = new DatasetChangeEvent(this, dataset);
    datasetChanged(event);
    
}
 
Example #20
Source File: 1_MultiplePiePlot.java    From SimFix with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Sets the dataset used by the plot and sends a {@link PlotChangeEvent}
 * to all registered listeners.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(CategoryDataset dataset) {
    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    if (this.dataset != null) {
        this.dataset.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self to trigger plot change event
    datasetChanged(new DatasetChangeEvent(this, dataset));
}
 
Example #21
Source File: 1_CategoryPlot.java    From SimFix with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Sets a dataset for the plot.
 *
 * @param index  the dataset index.
 * @param dataset  the dataset (<code>null</code> permitted).
 * 
 * @see #getDataset(int)
 */
public void setDataset(int index, CategoryDataset dataset) {
    
    CategoryDataset existing = (CategoryDataset) this.datasets.get(index);
    if (existing != null) {
        existing.removeChangeListener(this);
    }
    this.datasets.set(index, dataset);
    if (dataset != null) {
        dataset.addChangeListener(this);
    }
    
    // send a dataset change event to self...
    DatasetChangeEvent event = new DatasetChangeEvent(this, dataset);
    datasetChanged(event);
    
}
 
Example #22
Source File: 1_MultiplePiePlot.java    From SimFix with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Sets the dataset used by the plot and sends a {@link PlotChangeEvent}
 * to all registered listeners.
 *
 * @param dataset  the dataset (<code>null</code> permitted).
 */
public void setDataset(CategoryDataset dataset) {
    // if there is an existing dataset, remove the plot from the list of
    // change listeners...
    if (this.dataset != null) {
        this.dataset.removeChangeListener(this);
    }

    // set the new dataset, and register the chart as a change listener...
    this.dataset = dataset;
    if (dataset != null) {
        setDatasetGroup(dataset.getGroup());
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self to trigger plot change event
    datasetChanged(new DatasetChangeEvent(this, dataset));
}
 
Example #23
Source File: SimpleHistogramDataset.java    From SIMVA-SoS with Apache License 2.0 6 votes vote down vote up
/**
 * Adds an observation to the dataset (by incrementing the item count for
 * the appropriate bin).  A runtime exception is thrown if the value does
 * not fit into any bin.
 *
 * @param value  the value.
 * @param notify  send {@link DatasetChangeEvent} to listeners?
 */
public void addObservation(double value, boolean notify) {
    boolean placed = false;
    Iterator iterator = this.bins.iterator();
    while (iterator.hasNext() && !placed) {
        SimpleHistogramBin bin = (SimpleHistogramBin) iterator.next();
        if (bin.accepts(value)) {
            bin.setItemCount(bin.getItemCount() + 1);
            placed = true;
        }
    }
    if (!placed) {
        throw new RuntimeException("No bin.");
    }
    if (notify) {
        notifyListeners(new DatasetChangeEvent(this, this));
    }
}
 
Example #24
Source File: DefaultXYZDataset.java    From openstock with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Removes a series from the dataset, then sends a
 * {@link DatasetChangeEvent} to all registered listeners.
 *
 * @param seriesKey  the series key (<code>null</code> not permitted).
 *
 */
public void removeSeries(Comparable seriesKey) {
    int seriesIndex = indexOf(seriesKey);
    if (seriesIndex >= 0) {
        this.seriesKeys.remove(seriesIndex);
        this.seriesList.remove(seriesIndex);
        notifyListeners(new DatasetChangeEvent(this, this));
    }
}
 
Example #25
Source File: CategoryPlot.java    From openstock with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Sets a dataset for the plot and sends a change notification to all
 * registered listeners.
 *
 * @param index  the dataset index (must be &gt;= 0).
 * @param dataset  the dataset ({@code null} permitted).
 *
 * @see #getDataset(int)
 */
public void setDataset(int index, CategoryDataset dataset) {
    CategoryDataset existing = (CategoryDataset) this.datasets.get(index);
    if (existing != null) {
        existing.removeChangeListener(this);
    }
    this.datasets.put(index, dataset);
    if (dataset != null) {
        dataset.addChangeListener(this);
    }
    // send a dataset change event to self...
    DatasetChangeEvent event = new DatasetChangeEvent(this, dataset);
    datasetChanged(event);
}
 
Example #26
Source File: 1_XYPlot.java    From SimFix with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Sets a dataset for the plot.
 *
 * @param index  the dataset index.
 * @param dataset  the dataset (<code>null</code> permitted).
 * 
 * @see #getDataset(int)
 */
public void setDataset(int index, XYDataset dataset) {
    XYDataset existing = getDataset(index);
    if (existing != null) {
        existing.removeChangeListener(this);
    }
    this.datasets.set(index, dataset);
    if (dataset != null) {
        dataset.addChangeListener(this);
    }

    // send a dataset change event to self...
    DatasetChangeEvent event = new DatasetChangeEvent(this, dataset);
    datasetChanged(event);
}
 
Example #27
Source File: DefaultXYDataset.java    From ccu-historian with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Adds a series or if a series with the same key already exists replaces
 * the data for that series, then sends a {@link DatasetChangeEvent} to
 * all registered listeners.
 *
 * @param seriesKey  the series key (<code>null</code> not permitted).
 * @param data  the data (must be an array with length 2, containing two
 *     arrays of equal length, the first containing the x-values and the
 *     second containing the y-values).
 */
public void addSeries(Comparable seriesKey, double[][] data) {
    if (seriesKey == null) {
        throw new IllegalArgumentException(
                "The 'seriesKey' cannot be null.");
    }
    if (data == null) {
        throw new IllegalArgumentException("The 'data' is null.");
    }
    if (data.length != 2) {
        throw new IllegalArgumentException(
                "The 'data' array must have length == 2.");
    }
    if (data[0].length != data[1].length) {
        throw new IllegalArgumentException(
            "The 'data' array must contain two arrays with equal length.");
    }
    int seriesIndex = indexOf(seriesKey);
    if (seriesIndex == -1) {  // add a new series
        this.seriesKeys.add(seriesKey);
        this.seriesList.add(data);
    }
    else {  // replace an existing series
        this.seriesList.remove(seriesIndex);
        this.seriesList.add(seriesIndex, data);
    }
    notifyListeners(new DatasetChangeEvent(this, this));
}
 
Example #28
Source File: PolarPlot.java    From ccu-historian with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Maps the specified dataset to the axes in the list.  Note that the
 * conversion of data values into Java2D space is always performed using
 * the first axis in the list.
 *
 * @param index  the dataset index (zero-based).
 * @param axisIndices  the axis indices (<code>null</code> permitted).
 *
 * @since 1.0.14
 */
public void mapDatasetToAxes(int index, List axisIndices) {
    if (index < 0) {
        throw new IllegalArgumentException("Requires 'index' >= 0.");
    }
    checkAxisIndices(axisIndices);
    Integer key = new Integer(index);
    this.datasetToAxesMap.put(key, new ArrayList(axisIndices));
    // fake a dataset change event to update axes...
    datasetChanged(new DatasetChangeEvent(this, getDataset(index)));
}
 
Example #29
Source File: 1_XYPlot.java    From SimFix with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Receives notification of a change to the plot's dataset.
 * <P>
 * The axis ranges are updated if necessary.
 *
 * @param event  information about the event (not used here).
 */
public void datasetChanged(DatasetChangeEvent event) {
    configureDomainAxes();
    configureRangeAxes();
    if (getParent() != null) {
        getParent().datasetChanged(event);
    }
    else {
        PlotChangeEvent e = new PlotChangeEvent(this);
        e.setType(ChartChangeEventType.DATASET_UPDATED);
        notifyListeners(e);
    }
}
 
Example #30
Source File: DefaultXYZDataset.java    From SIMVA-SoS with Apache License 2.0 5 votes vote down vote up
/**
 * Removes a series from the dataset, then sends a
 * {@link DatasetChangeEvent} to all registered listeners.
 *
 * @param seriesKey  the series key (<code>null</code> not permitted).
 *
 */
public void removeSeries(Comparable seriesKey) {
    int seriesIndex = indexOf(seriesKey);
    if (seriesIndex >= 0) {
        this.seriesKeys.remove(seriesIndex);
        this.seriesList.remove(seriesIndex);
        notifyListeners(new DatasetChangeEvent(this, this));
    }
}