小编Ber*_*oct的帖子

使用JFreeChart和滑块更新图形

我有一个描述管道压力的数组的时间历史.因此,对于每个delta t,我在管道长度上有一系列压力值.我想用JFreeChart绘制沿管道长度的压力,并选择哪个delta t用滑块绘制,这样无论何时用户移动滑块,图形都会更新来自不同delta t的值.我也将瓷砖重置为管道最后部分的压力.会发生什么是标题是更新,意味着数据正在更新,但曲线保持不变.我已经在论坛上阅读了所有可能的主题并尝试了我能想到的一切,但它没有用!这是我的类的代码,它扩展了JPanel,其中方法jSlider1StateChanged听到滑块位置的变化,createChart在程序启动时创建一个新图表,dataSetGen(int ndt)根据滑块位置生成图形的新数据集:

public class MyMainPanel extends JPanel {

  private JFreeChart jc;
  private OutputPipe op;
  private DefaultXYDataset ds; 
  private javax.swing.JFrame jFrame1;
  private javax.swing.JSlider jSlider1;
  private pipevisualizer.MyChartPanel pnlChartPanel;                       

  private void jSlider1StateChanged(javax.swing.event.ChangeEvent evt) {                                      
        int ndt = ((JSlider) evt.
                getSource()).
                getValue();
        System.out.println("Slider1: " + ((JSlider) evt.
                getSource()).
                getValue());

        dataSetGen(ndt);
        int a = 0;
        jc.fireChartChanged();
  }                

  private void dataSetGen(int ndt) {
        ArrayList<OutputPipeDt> opDtArray = op.getOpLit();
        OutputPipeDt opDt = opDtArray.get(ndt);

        double[] H = opDt.getH();
        double[] l = new double[H.length];
        double[] p = …
Run Code Online (Sandbox Code Playgroud)

java events swing jfreechart jpanel

5
推荐指数
1
解决办法
5667
查看次数

标签 统计

events ×1

java ×1

jfreechart ×1

jpanel ×1

swing ×1