Example usage for org.jfree.data.time TimeSeries addChangeListener

List of usage examples for org.jfree.data.time TimeSeries addChangeListener

Introduction

In this page you can find the example usage for org.jfree.data.time TimeSeries addChangeListener.

Prototype

public void addChangeListener(SeriesChangeListener listener) 

Source Link

Document

Registers an object with this series, to receive notification whenever the series changes.

Usage

From source file:edu.dlnu.liuwenpeng.Time.TimeSeriesCollection.java

/**    
* Adds a series to the collection and sends a {@link DatasetChangeEvent} to    
* all registered listeners.    //from   w  w w.  ja  va2s . c  o  m
*    
* @param series  the series (<code>null</code> not permitted).    
*/
public void addSeries(TimeSeries series) {
    if (series == null) {
        throw new IllegalArgumentException("Null 'series' argument.");
    }
    this.data.add(series);
    series.addChangeListener(this);
    fireDatasetChanged();
}

From source file:org.jfree.data.time.TimeSeriesCollection.java

/**
 * Adds a series to the collection and sends a {@link DatasetChangeEvent} to
 * all registered listeners./*ww w. ja  va2s .  c o m*/
 *
 * @param series  the series (<code>null</code> not permitted).
 */
public void addSeries(TimeSeries series) {
    ParamChecks.nullNotPermitted(series, "series");
    this.data.add(series);
    series.addChangeListener(this);
    series.addVetoableChangeListener(this);
    fireDatasetChanged();
}

From source file:edu.dlnu.liuwenpeng.Time.TimeSeriesCollection.java

/**    
* Constructs a dataset containing a single series (more can be added),    
* tied to a specific timezone.    // ww w. ja  va 2 s .  c  om
*    
* @param series  a series to add to the collection (<code>null</code>     
*                permitted).    
* @param zone  the timezone (<code>null</code> permitted, will use     
*              <code>TimeZone.getDefault()</code> in that case).    
*/
public TimeSeriesCollection(TimeSeries series, TimeZone zone) {

    if (zone == null) {
        zone = TimeZone.getDefault();
    }
    this.workingCalendar = Calendar.getInstance(zone);
    this.data = new ArrayList();
    if (series != null) {
        this.data.add(series);
        series.addChangeListener(this);
    }
    this.xPosition = TimePeriodAnchor.START;
    this.domainIsPointsInTime = true;

}

From source file:org.jfree.data.time.junit.TimeSeriesTest.java

/**
 * Some checks for the removeAgedItems() method.
 */// w w  w.  j ava 2 s  . c  om
public void testRemoveAgedItems() {
    TimeSeries series = new TimeSeries("Test Series");
    series.addChangeListener(this);
    assertEquals(Long.MAX_VALUE, series.getMaximumItemAge());
    assertEquals(Integer.MAX_VALUE, series.getMaximumItemCount());
    this.gotSeriesChangeEvent = false;

    // test empty series
    series.removeAgedItems(true);
    assertEquals(0, series.getItemCount());
    assertFalse(this.gotSeriesChangeEvent);

    // test series with one item
    series.add(new Year(1999), 1.0);
    series.setMaximumItemAge(0);
    this.gotSeriesChangeEvent = false;
    series.removeAgedItems(true);
    assertEquals(1, series.getItemCount());
    assertFalse(this.gotSeriesChangeEvent);

    // test series with two items
    series.setMaximumItemAge(10);
    series.add(new Year(2001), 2.0);
    this.gotSeriesChangeEvent = false;
    series.setMaximumItemAge(2);
    assertEquals(2, series.getItemCount());
    assertEquals(0, series.getIndex(new Year(1999)));
    assertFalse(this.gotSeriesChangeEvent);
    series.setMaximumItemAge(1);
    assertEquals(1, series.getItemCount());
    assertEquals(0, series.getIndex(new Year(2001)));
    assertTrue(this.gotSeriesChangeEvent);
}

From source file:org.jfree.data.time.TimeSeriesCollection.java

/**
 * Constructs a dataset containing a single series (more can be added),
 * tied to a specific timezone.// w  w  w .  ja  v  a  2 s . c o  m
 *
 * @param series  a series to add to the collection (<code>null</code>
 *                permitted).
 * @param zone  the timezone (<code>null</code> permitted, will use
 *              <code>TimeZone.getDefault()</code> in that case).
 */
public TimeSeriesCollection(TimeSeries series, TimeZone zone) {
    // FIXME:  need a locale as well as a timezone
    if (zone == null) {
        zone = TimeZone.getDefault();
    }
    this.workingCalendar = Calendar.getInstance(zone);
    this.data = new ArrayList();
    if (series != null) {
        this.data.add(series);
        series.addChangeListener(this);
    }
    this.xPosition = TimePeriodAnchor.START;
    this.domainIsPointsInTime = true;

}

From source file:org.jfree.data.time.junit.TimeSeriesTest.java

/**
 * Some checks for the removeAgedItems(long, boolean) method.
 *///from   w w  w .  j  a v  a 2s . co  m
public void testRemoveAgedItems2() {
    long y2006 = 1157087372534L; // milliseconds somewhere in 2006
    TimeSeries series = new TimeSeries("Test Series");
    series.addChangeListener(this);
    assertEquals(Long.MAX_VALUE, series.getMaximumItemAge());
    assertEquals(Integer.MAX_VALUE, series.getMaximumItemCount());
    this.gotSeriesChangeEvent = false;

    // test empty series
    series.removeAgedItems(y2006, true);
    assertEquals(0, series.getItemCount());
    assertFalse(this.gotSeriesChangeEvent);

    // test a series with 1 item
    series.add(new Year(2004), 1.0);
    series.setMaximumItemAge(1);
    this.gotSeriesChangeEvent = false;
    series.removeAgedItems(new Year(2005).getMiddleMillisecond(), true);
    assertEquals(1, series.getItemCount());
    assertFalse(this.gotSeriesChangeEvent);
    series.removeAgedItems(y2006, true);
    assertEquals(0, series.getItemCount());
    assertTrue(this.gotSeriesChangeEvent);

    // test a series with two items
    series.setMaximumItemAge(2);
    series.add(new Year(2003), 1.0);
    series.add(new Year(2005), 2.0);
    assertEquals(2, series.getItemCount());
    this.gotSeriesChangeEvent = false;
    assertEquals(2, series.getItemCount());

    series.removeAgedItems(new Year(2005).getMiddleMillisecond(), true);
    assertEquals(2, series.getItemCount());
    assertFalse(this.gotSeriesChangeEvent);
    series.removeAgedItems(y2006, true);
    assertEquals(1, series.getItemCount());
    assertTrue(this.gotSeriesChangeEvent);
}

From source file:org.jfree.data.time.TimeSeriesTest.java

/**
 * Some checks for the removeAgedItems() method.
 *//*from www  . ja v  a 2  s .c o  m*/
@Test
public void testRemoveAgedItems() {
    TimeSeries series = new TimeSeries("Test Series", Year.class);
    series.addChangeListener(this);
    assertEquals(Long.MAX_VALUE, series.getMaximumItemAge());
    assertEquals(Integer.MAX_VALUE, series.getMaximumItemCount());
    this.gotSeriesChangeEvent = false;

    // test empty series
    series.removeAgedItems(true);
    assertEquals(0, series.getItemCount());
    assertFalse(this.gotSeriesChangeEvent);

    // test series with one item
    series.add(new Year(1999), 1.0);
    series.setMaximumItemAge(0);
    this.gotSeriesChangeEvent = false;
    series.removeAgedItems(true);
    assertEquals(1, series.getItemCount());
    assertFalse(this.gotSeriesChangeEvent);

    // test series with two items
    series.setMaximumItemAge(10);
    series.add(new Year(2001), 2.0);
    this.gotSeriesChangeEvent = false;
    series.setMaximumItemAge(2);
    assertEquals(2, series.getItemCount());
    assertEquals(0, series.getIndex(new Year(1999)));
    assertFalse(this.gotSeriesChangeEvent);
    series.setMaximumItemAge(1);
    assertEquals(1, series.getItemCount());
    assertEquals(0, series.getIndex(new Year(2001)));
    assertTrue(this.gotSeriesChangeEvent);
}

From source file:org.jfree.data.time.junit.TimeSeriesTest.java

/**
 * Basic tests for the delete() method.//w  w w. j a  v  a2  s  .c o m
 */
public void testDelete2() {
    TimeSeries s1 = new TimeSeries("Series");
    s1.add(new Year(2000), 13.75);
    s1.add(new Year(2001), 11.90);
    s1.add(new Year(2002), null);
    s1.addChangeListener(this);
    this.gotSeriesChangeEvent = false;
    s1.delete(new Year(2001));
    assertTrue(this.gotSeriesChangeEvent);
    assertEquals(2, s1.getItemCount());
    assertEquals(null, s1.getValue(new Year(2001)));

    // try deleting a time period that doesn't exist...
    this.gotSeriesChangeEvent = false;
    s1.delete(new Year(2006));
    assertFalse(this.gotSeriesChangeEvent);

    // try deleting null
    try {
        s1.delete(null);
        fail("Expected IllegalArgumentException.");
    } catch (IllegalArgumentException e) {
        // expected
    }
}

From source file:org.jfree.data.time.TimeSeriesTest.java

/**
 * Some checks for the removeAgedItems(long, boolean) method.
 *//*from   w  w w.  ja  va 2  s .  c o m*/
@Test
public void testRemoveAgedItems2() {
    long y2006 = 1157087372534L; // milliseconds somewhere in 2006
    TimeSeries series = new TimeSeries("Test Series", Year.class);
    series.addChangeListener(this);
    assertEquals(Long.MAX_VALUE, series.getMaximumItemAge());
    assertEquals(Integer.MAX_VALUE, series.getMaximumItemCount());
    this.gotSeriesChangeEvent = false;

    // test empty series
    series.removeAgedItems(y2006, true);
    assertEquals(0, series.getItemCount());
    assertFalse(this.gotSeriesChangeEvent);

    // test a series with 1 item
    series.add(new Year(2004), 1.0);
    series.setMaximumItemAge(1);
    this.gotSeriesChangeEvent = false;
    series.removeAgedItems(new Year(2005).getMiddleMillisecond(), true);
    assertEquals(1, series.getItemCount());
    assertFalse(this.gotSeriesChangeEvent);
    series.removeAgedItems(y2006, true);
    assertEquals(0, series.getItemCount());
    assertTrue(this.gotSeriesChangeEvent);

    // test a series with two items
    series.setMaximumItemAge(2);
    series.add(new Year(2003), 1.0);
    series.add(new Year(2005), 2.0);
    assertEquals(2, series.getItemCount());
    this.gotSeriesChangeEvent = false;
    assertEquals(2, series.getItemCount());

    series.removeAgedItems(new Year(2005).getMiddleMillisecond(), true);
    assertEquals(2, series.getItemCount());
    assertFalse(this.gotSeriesChangeEvent);
    series.removeAgedItems(y2006, true);
    assertEquals(1, series.getItemCount());
    assertTrue(this.gotSeriesChangeEvent);
}

From source file:org.jfree.data.time.TimeSeriesTest.java

/**
 * Basic tests for the delete() method.//from w  w  w.ja  v a  2  s  .  c  om
 */
@Test
public void testDelete2() {
    TimeSeries s1 = new TimeSeries("Series", Year.class);
    s1.add(new Year(2000), 13.75);
    s1.add(new Year(2001), 11.90);
    s1.add(new Year(2002), null);
    s1.addChangeListener(this);
    this.gotSeriesChangeEvent = false;
    s1.delete(new Year(2001));
    assertTrue(this.gotSeriesChangeEvent);
    assertEquals(2, s1.getItemCount());
    assertEquals(null, s1.getValue(new Year(2001)));

    // try deleting a time period that doesn't exist...
    this.gotSeriesChangeEvent = false;
    s1.delete(new Year(2006));
    assertFalse(this.gotSeriesChangeEvent);

    // try deleting null
    try {
        s1.delete(null);
        fail("Expected IllegalArgumentException.");
    } catch (IllegalArgumentException e) {
        // expected
    }
}