import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class MyFrame extends JFrame implements KeyListener {
JLabel label;
ImageIcon icon;
MyFrame(){
icon = new ImageIcon("avatar.png");
//icon = new ImageIcon("KeyListner/avatar.png");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(500,500);
this.setLayout(null);
this.addKeyListener(this);
this.getContentPane().setBackground(Color.WHITE);
label = new JLabel();
label.setIcon(icon);
label.setBounds(0,0,100,100);
// label.setBackground(Color.BLUE);
// label.setOpaque(true);
this.add(label);
this.setVisible(true);
}
@Override
public void keyTyped(KeyEvent e) {
switch (e.getKeyChar()){
case 'a': label.setLocation(label.getX()-5,label.getY());
break;
case 'w': label.setLocation(label.getX(),label.getY()-5);
break;
case 's': label.setLocation(label.getX(),label.getY()+5);
break;
case 'd': label.setLocation(label.getX()+5,label.getY());
break;
}
}
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()){
case 37: label.setLocation(label.getX()-5,label.getY());
break;
case 38: label.setLocation(label.getX(),label.getY()-5);
break;
case 40: label.setLocation(label.getX(),label.getY()+5);
break;
case 39: label.setLocation(label.getX()+5,label.getY());
break;
}
}
@Override
public void keyReleased(KeyEvent e) {
//when key is released
System.out.println("You released key character " + e.getKeyChar());
System.out.println("You released key character " + e.getKeyCode());
}
}
Image is in the same folder