Exemplo n.º 1
0
 public void increaseAnimationSpeed(int increment) {
   int delay = (int) timer.getInterval();
   if (delay - increment > 0) {
     timer.setInterval(delay - increment);
   }
 }
Exemplo n.º 2
0
 public PieChartAnimator(RegularTimeSeries[] rts) {
   int delay = 500;
   timer = new Animator();
   timer.setInterval(delay);
   timer.addAnimateDisplay(this);
   _canvas = setUpPieChart(rts);
   _filter = new NaNFilter();
   // set up buttons
   JButton fasterBtn = new JButton("faster");
   JButton slowerBtn = new JButton("slower");
   JButton stopBtn = new JButton("#");
   JButton forwardBtn = new JButton(">");
   JButton reverseBtn = new JButton("<");
   fasterBtn.addActionListener(
       new ActionListener() {
         public void actionPerformed(ActionEvent evt) {
           increaseAnimationSpeed(50);
         }
       });
   slowerBtn.addActionListener(
       new ActionListener() {
         public void actionPerformed(ActionEvent evt) {
           increaseAnimationSpeed(-50);
         }
       });
   forwardBtn.addActionListener(
       new ActionListener() {
         public void actionPerformed(ActionEvent evt) {
           goForward = true;
           timer.startAnimation();
         }
       });
   stopBtn.addActionListener(
       new ActionListener() {
         public void actionPerformed(ActionEvent evt) {
           timer.stopAnimation();
         }
       });
   reverseBtn.addActionListener(
       new ActionListener() {
         public void actionPerformed(ActionEvent evt) {
           goForward = false;
           timer.startAnimation();
         }
       });
   // setup button panel
   JPanel buttonPanel = new JPanel();
   buttonPanel.setLayout(new FlowLayout());
   buttonPanel.add(forwardBtn);
   buttonPanel.add(stopBtn);
   buttonPanel.add(reverseBtn);
   buttonPanel.add(fasterBtn);
   buttonPanel.add(slowerBtn);
   //
   JFrame fr = new JFrame();
   fr.getContentPane().setLayout(new BorderLayout());
   fr.getContentPane().add(buttonPanel, BorderLayout.SOUTH);
   fr.getContentPane().add(_canvas, BorderLayout.CENTER);
   fr.pack();
   fr.setVisible(true);
   timer.startAnimation();
 }