I am making a small game and want to use key listeners. I have used it before but don't have to code and i just can't figure it out again. something about my code is wrong. any help will be greatly appreciated.
package mainclasses; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.MouseInfo; import java.awt.Point; import java.awt.PointerInfo; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import javax.swing.ImageIcon; import javax.swing.JPanel; import javax.swing.Timer; public class levelOne extends JPanel implements ActionListener, MouseListener,MouseMotionListener,KeyListener{ int frameX,frameY,mouseX,mouseY=0; String drawX,drawY=""; mainMenu MainMenu; Image bg; ImageIcon bgI; Rectangle startr=new Rectangle(); Rectangle backr=new Rectangle(); Timer t=new Timer(5,this); public levelOne(mainMenu mainmenu) { this.MainMenu=mainmenu; t.start(); this.setLayout(null); this.setBounds(0,0,600,600); startr.setBounds(150,189,207,107); backr.setBounds(154,355,163,57); ImageIcon bgI=new ImageIcon(getClass().getResource("/Images/levelOneBackground.png")); bg=bgI.getImage(); this.addKeyListener(this); this.setFocusable(true); this.setFocusTraversalKeysEnabled(false); this.addMouseMotionListener(this); this.addMouseListener(this); this.updateUI(); // TODO Auto-generated constructor stub } @Override public void mouseDragged(MouseEvent arg0) { // TODO Auto-generated method stub } public boolean isMouseCollidingWithRectangle(Rectangle l){ if( mouseX>=l.getX() && mouseX<=l.getX()+l.getWidth() && mouseY>=l.getY()&&mouseY<=l.getY()+l.getHeight()){ return true; } return false; } @Override public void paint(Graphics g){ super.paint(g); Graphics2D backgroundG =(Graphics2D)g; Graphics2D startT =(Graphics2D)g; backgroundG.drawImage(bg,0,0,null); //if(r){ //startT.drawString(Integer.toString(mouseX), 40, 40); } @Override public void mouseMoved(MouseEvent arg0) { int frameX = mainMenu.x; int frameY = mainMenu.y; PointerInfo a = MouseInfo.getPointerInfo(); Point b = a.getLocation(); mouseX = (int) b.getX()- frameX; mouseY = (int) b.getY()- frameY-24; drawX = Integer.toString(mouseX); drawY = Integer.toString(mouseY); } @Override public void mouseClicked(MouseEvent e) { if(e.getButton()==MouseEvent.BUTTON1){ if(isMouseCollidingWithRectangle(startr)==true){ MainMenu.switchToStart(); } if(isMouseCollidingWithRectangle(backr)==true){ MainMenu.switchToMainFromStart(); } } } @Override public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void actionPerformed(ActionEvent arg0) { repaint(); this.updateUI(); } @Override public void keyPressed(KeyEvent e) { int key =e.getKeyCode(); if(key==KeyEvent.VK_SPACE){} } @Override public void keyReleased(KeyEvent e) { int key =e.getKeyCode(); if(key==KeyEvent.VK_SPACE){ System.exit(0); } } @Override public void keyTyped(KeyEvent arg0) { // TODO Auto-generated method stub } }