swing - My rectangle sometimes moves when I run my java program -


i should able move rectangle arrow keys after running program few times rectangle not move. make rectangle move close netbeans , reopen it. rectangle able move stops moving after couple tries. want solve problem can make changes.

package project;  import java.awt.color; import java.awt.graphics; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.keyevent; import java.awt.event.keylistener;  import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.timer;  //keylistener use keyboard public class main extends jpanel implements actionlistener, keylistener {     timer tm = new timer(5, this); //for animation     int x = 50, y = 50, velx =0, vely = 0;       public main()     {         tm.start(); //starts timer         addkeylistener(this); //this refearing keylistener         setfocusable(true); //enable keylistener         setfocustraversalkeysenabled(false); //shift or tab not use f     }     public void paintcomponent(graphics g)     {         super.paintcomponent(g);          g.setcolor(color.red);         g.fillrect(x,y,50,50);     }              public void actionperformed(actionevent e)     {         if (x<0)         {             velx = 0;             x = 0;         }              if (x>500)         {             velx = 0;             x = 500;         }              if (y<0)         {             vely = 0;             y=0;         }            if (y>300)         {             vely = 0;             y = 300;         }              x = x + velx;         y = y + vely;          repaint(); // repaint rectangle      }      public void keypressed(keyevent e)     {         int c = e.getkeycode(); //get key          if (c == keyevent.vk_left) // vk_left left arrow          {             velx = -3;             vely = 0;         }         if (c == keyevent.vk_up) // vk_up arrow          {             velx = 0;             vely = -3; // means          }         if (c == keyevent.vk_right)           {             velx = 3;             vely = 0;          }         if (c == keyevent.vk_down)           {             velx = 0;             vely = 3;          }     }      public void keytyped(keyevent e){}     public void keyreleased(keyevent e) //when stop pressing      {         velx = 0;         vely = 0;      }      public static void main(string[] args)     {          main m = new main();         jframe jf = new jframe();         jf.settitle("tutorial");         jf.setsize(600,400);         jf.setvisible(true);         jf.setdefaultcloseoperation(jframe.exit_on_close);         jf.add(m);     } } 


Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -