mercredi 6 mai 2015

Coding Graphics and KeyListener in java

I was wondering how to properly use the Graphics library and also the Keylistener in JAVA. Underneath is my code, i believe i have done something wrong because the Window is blank with no Oval. Please help me out!

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;

public class Game extends JFrame implements KeyListener{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    int x=100,y=100;

    boolean u,d,r,l;

    public <addKeyListener> void run(){
        setBackground(Color.gray);
        setSize(800,800);
        setVisible(true);
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        addKeyListener(this);
    }
    public static void main(String[] args) {
        Game game = new Game();
        game.run(); 
        }

    public void paint(Graphics g){
        g.setColor(Color.black);
        g.fillOval(x,y,40,40);
    repaint();
    }
    {


    if(u =true){
    y-=200;

    } 
    if(d = true){
    y+=2;
    }
    if(r = true){
        x-=2;
        }
    if(l = true){
        x+=2;}
    }








    @Override
    public void keyPressed(KeyEvent e) {
    char code = e.getKeyChar();
        if(code == KeyEvent.VK_W){
            u = true;}
            if(code == KeyEvent.VK_A){
                l = true;}
                if(code == KeyEvent.VK_S){
                    d = true;}
                    if(code == KeyEvent.VK_D){
                        r = true;}

    }



    @Override
    public void keyReleased(KeyEvent e) {
        char code = e.getKeyChar();
        if(code == KeyEvent.VK_W){
            u = false;}
            if(code == KeyEvent.VK_A){
                l = false;}
                if(code == KeyEvent.VK_S){
                    d = false;}
                    if(code == KeyEvent.VK_D){
                        r = false;}

    }

    @Override
    public void keyTyped(KeyEvent e) {

    }

}

Aucun commentaire:

Enregistrer un commentaire