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) {
}
}