现在已经成功的画出了一个三十分钟内的实时数据曲线,总共360个点,五秒钟一个点,但是我重新清除timeseries的数据进行重画实时曲线的时候经常出错,到底是怎么回事呢?是不是jFreeChart有问题?
我的重画实时曲线代码如下:
public void redrawRQXData(double[] rqxdata)
{
/* 三十分钟内的实时曲线重画,每五秒钟一个点,共360个点 */
this.timeseries.clear();
Calendar calendar = Calendar.getInstance();
calendar.add(calendar.MINUTE, -30);
for(int i=0;i<rqxdata.length;i++)
{
Second s = new Second(calendar.getTime());
this.timeseries.add(s, rqxdata[i]);
calendar.add(calendar.SECOND, 5);
}
}
经常在上面那句:
this.timeseries.add(s, rqxdata[i]);
出错
我要是把它注释掉就什么事也没有!
到底是怎么回事呢?
我的重画实时曲线代码如下:
public void redrawRQXData(double[] rqxdata)
{
/* 三十分钟内的实时曲线重画,每五秒钟一个点,共360个点 */
this.timeseries.clear();
Calendar calendar = Calendar.getInstance();
calendar.add(calendar.MINUTE, -30);
for(int i=0;i<rqxdata.length;i++)
{
Second s = new Second(calendar.getTime());
this.timeseries.add(s, rqxdata[i]);
calendar.add(calendar.SECOND, 5);
}
}
经常在上面那句:
this.timeseries.add(s, rqxdata[i]);
出错
我要是把它注释掉就什么事也没有!
到底是怎么回事呢?
public synchronized void paintComponent(Graphics g){
}
试试看
逻辑上是没有错误的,提示出错信息就是paintComponent出错的,怎么个改法,本人是刚学,所以不怎么明白,还请多指教。
我现在改用Update了,现在可以Update数据,但是我怎么Updata时间轴呢,因为实时数据显示的那个时间也要跟着变动的,请指教!
}
加上关键词:synchronized,如上位置!
我不是画在JFrame上面的,我是画在jTabbedPane上面的,所以没有paintComponent函数!
------------------------------------------------------------------------------
不要在JFrame, JTabbedPane上画,最好在JPanel上画,JPanel上有paintComponent,因为虽然可以在JFrame和JTabbedPane上画,但他们应该只作为容器.