I am making ping pong using java.I am not very familiar with java yet as i started only a few months back. I added a KeyListener which checks whether the user has pressed the UP key and DOWN key and also when these keys are released.But the Keylistener isn't working.I added a System.out.print() to print the keycode but that doesnt happen either.this is my code(The main part of it)
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class pingpong extends Applet implements Runnable,KeyListener{
Thread thread;
final int WIDTH = 700 ,HEIGHT = 500;
HumanPaddle p1;
Player2Paddle p2;
Ball ball;
boolean game;
Graphics G;
Image img;
public void init(){
this.resize(WIDTH,HEIGHT);
game = false;
this.addKeyListener(this);
p1 = new HumanPaddle(1);
ball = new Ball();
p2 = new Player2Paddle(2,ball);
img = createImage(WIDTH,HEIGHT);
G = img.getGraphics();
thread = new Thread(this);
thread.start();
}
public void paint(Graphics g){
G.setColor(Color.black);
G.fillRect(0,0,WIDTH,HEIGHT);
if(ball.getX() < -10 || ball.getX()>710){
G.setColor(Color.blue);
G.drawString("Game over",350,250);
}
else{
p1.draw(G);
ball.draw(G);
p2.draw(G);
p2.move();
}
g.drawImage(img,0,0,this);
}
public void update(Graphics g){
paint(g);
}
public void run() {
for(;;){
if(game){
ball.move();
p1.move();
ball.paddleHit(p1,p2);
repaint();
}
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_UP){
p1.setUpAccel(true);
System.out.println("check!"+e.getKeyCode());
}
else if(e.getKeyCode() == KeyEvent.VK_ENTER){
game = true;
}
}
public void keyReleased(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_UP){
p1.setUpAccel(false);
}
else if(e.getKeyCode() == KeyEvent.VK_DOWN){
p1.setDownAccel(false);
}
}
}
I am using NetBeans 8.2 and jdk 1.8. Can someone help me please