Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.applet.Applet;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Rectangle;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import java.util.ArrayList;
- import java.util.List;
- public class KeyListenerTutorial
- extends Applet
- implements KeyListener{
- private Rectangle rect;
- private ArrayList<Integer> keysDown;
- public void init()
- {
- this.addKeyListener(this);
- keysDown = new ArrayList<Integer>();
- rect = new Rectangle(0, 0, 50, 50);
- }
- public void paint(Graphics g)
- {
- setSize(500, 500);
- Graphics2D g2 = (Graphics2D)g;
- g2.fill(rect);
- }
- @Override
- public void keyPressed(KeyEvent e) {
- if (!keysDown.contains(e.getKeyCode()))
- keysDown.add(new Integer(e.getKeyCode()));
- moveRect();
- /*
- if (e.getKeyCode() == KeyEvent.VK_RIGHT)
- {
- rect.setLocation(rect.x + 2, rect.y);
- }
- if (e.getKeyCode() == KeyEvent.VK_LEFT)
- {
- rect.setLocation(rect.x - 2, rect.y);
- }
- if (e.getKeyCode() == KeyEvent.VK_UP)
- {
- rect.setLocation(rect.x, rect.y - 2);
- }
- if (e.getKeyCode() == KeyEvent.VK_DOWN)
- {
- rect.setLocation(rect.x, rect.y + 2);
- }
- */
- }
- @Override
- public void keyReleased(KeyEvent e) {
- keysDown.remove(new Integer(e.getKeyCode()));
- }
- public void moveRect()
- {
- int x = rect.x;
- int y = rect.y;
- if (keysDown.contains(KeyEvent.VK_UP))
- y -= 2;
- if (keysDown.contains(KeyEvent.VK_DOWN))
- y += 2;
- if (keysDown.contains(KeyEvent.VK_LEFT))
- x -= 2;
- if (keysDown.contains(KeyEvent.VK_RIGHT))
- x += 2;
- rect.setLocation(x,y);
- repaint();
- }
- @Override
- public void keyTyped(KeyEvent e) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment