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