###実現したいこと
動作を遅くするボタンを押したら遅くなり、速くなるボタンを押したら速くなるプログラムを作りたいです。
###問題点
Timerで作ったtimeが初期設定では20ミリ秒になっていますが、ボタンが押されたら30とか40とかに変更していきたいです。しかし、その途中変更の仕方がわかりません。
今、t
の値を変更するようにしてそれをTimer
に反映させたつもりなのですが変わっていませんでした。
###コード
java
1class MyDrawPanel extends JPanel implements ActionListener{ 2 ArrayList<BlueCircle> al; 3 javax.swing.Timer time; 4 int t=20; //速さ設定 5 6 public MyDrawPanel(){ 7 al=new ArrayList<BlueCircle>(); 8 time=new javax.swing.Timer(t,this); 9 time.start(); 10 } 11 12 public void actionPerformed(ActionEvent e){ 13 //ボタン処理 14 } 15 16 public void paintComponent(Graphics g){ 17 super.paintComponent(g); 18 Iterator<BlueCircle> it=al.iterator(); 19 while(it.hasNext()){ 20 BlueCircle c=it.next(); 21 if(A==1){ //速くなるボタンが押されたら 22 t=(int)(t/1.5); 23 24 } 25 if(D==1){ //遅くなるボタンが押されたら 26 t=(int)(t/0.5); 27 } 28 } 29 } 30 } 31}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/10 06:24