Image doesnt refrsh properly
import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.awt.event.*;
import java.net.*;
public class main extends JFrame implements KeyListener {
String path1 = "move.png";
String path2 = "x.gif";
ImageIcon idle = new ImageIcon(getClass().getResource(path2)) ;
ImageIcon move = new ImageIcon(path1) ;
ImageIcon bullet = new ImageIcon("b.png") ;
//Icon bug = new ImageIcon( getClass().getResource( "bug1.gif" ) );
//postion of ship
int x= 50;
int y = 50;
//default size of ship
int bull = 0;//0 if bullet is not being fierd 1 if it is
int im= 1; //0 means ship is moving 1 means ship is idle
public main(){
super("Astroids");
//Window Properites
setVisible(true);
setSize(500,500);
addKeyListener(this);
}
public void keyReleased(KeyEvent e) {
if(e.getKeyCode() == 39){
im = 1;
}
if(e.getKeyCode() == 37){
System.out.println("left");
im = 1;
}
if(e.getKeyCode() == 32){
System.out.println("bang");
bull = 1;//fire
}
}
public void keyPressed(KeyEvent e) {
System.out.println(e.getKeyCode());
if(e.getKeyCode() == 39){
right();
}
if(e.getKeyCode() == 37){
left();
}
}
public void right(){
System.out.println("right");
x = x + 10;
im = 0;
update();
}
public void left(){
System.out.println("left");
x = x - 10;
im = 0;
update();
}
public void keyTyped(KeyEvent e) {
}
public void update() {
try {
Thread.sleep(20); // sleep a bit
}
catch(InterruptedException ex){}
repaint();
}
public void paint(Graphics g){
super.paint(g);
g.drawImage(idle.getImage(),x,y,this);
}
public static void main(String[] args){
main app = new main();
}
}

