2016-04-14 13 views
0

Merhaba arkadaşlar java'da asimetrik hareket kaydırıcıyı nasıl yapabilirim? Bir iş parçacığı kullanabilir miyim? Ben "Basit harmonik hareketi" taklit etmek böyle bir şey geliştirdikJava'da asimetrik hareket kaydırıcısı oluşturma

final Timer timer = new Timer(speed, null); 
timer.addActionListener(new ActionListener() { 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     if (lim1 > progress) { 
      speed = 20; 
     } else if (lime2 > progress) { 
      speed = 10; 
     } else { 
      speed = 5; 
     } 
     System.out.println(speed); 
     progress++; 
     setcircle(); 
     if (progress >= lim) { 
      timer.stop(); 
     } 

    } 
}); 
timer.start(); 
+1

Ayrıntılı bilgi verir misiniz? Sorunun/sorunun ne olduğu belli değil. – Thomas

+0

@Thomas java salınımında asimetrik harekete sahip bir kaydırıcı yapmak istiyorum. Bu bağlantıyı kontrol edin https://www.google.com/design/spec/animation/authentic-motion.html#authentic-motion-mass-weight –

+0

Bu benim için bir animasyon meselesine benziyor ancak düğmelerden kaydırıcılara göre daha uygun . Her durumda, animasyonlu animasyon derslerine göz atmak isteyebilirsiniz. – Thomas

cevap

0

(github repo). Bunu yapmak için TimerTask() sınıfını kullanıyorum. zamanlama yönteminde

long delay = 0; 
long interval = 1000; 

Timer temporizer = new Timer(); 
TimerTask task = new TimerTask(){ 
    @Override 
    public void run() { 
     // update here you progress bar or another elements 
    } 
}; 

temporizer.schedule (task,delay,interval); //task will be excecuted each 1 second. 

Parametreler şunlardır:

  • TimerTask task nesne

  • long delay (milisaniye cinsinden ifade ilk dönemde gecikme süresi)

  • Bu iki yaklaşımı kullanabilirsiniz

    long interval (her bir yineleme zamanının milisaniye cinsinden ifade edilen süresi).

veya

while (true){ 
    // update here you progress bar or another elements 
    try { 
     Thread.sleep(interval); 
    } catch (InterruptedException ex) {...} 
} 

basit

yardımcı olur Umut.

+0

@Herctor İlk seçenek için parametreler nelerdir? –

+0

Cevabımı, parametre açıklamasını ekleyerek düzenledim :) – HCarrasko

İlgili konular