Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class BasicKeys {
- private boolean[] keys = new boolean[4];
- private int double x,y;
- public static void main(String args[]) {
- JFrame f = new JFrame("Basic keys");
- f.setResizable(false);
- f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- f.add(new Keys());
- f.pack();
- f.setVisible(true);
- f.setLocationRelativeTo(null);
- }
- }
- public class Keys extends JPanel implements ActionListener{
- public Keys()
- {
- setPreferredSize(new Dimension(500, 500));
- setFocusable(true);
- addKeyListener(new KeyController());
- }
- @Override
- public void paintComponent(Graphics g) {
- super.requestFocus();
- super.paintComponent(g);
- Graphics2D g2d = (Graphics2D)g;
- g2d.fillrect(this.x, this.y, 40, 40);
- Thread.sleep(10);
- g2d.dispose();
- repaint();
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- repaint();
- }
- private class KeyController extends KeyAdapter {
- private double dx, dy;
- public KeyController()
- {
- for(int i= 0; i < 4; i++)
- {
- keys[i] = false;
- }
- }
- @Override
- public void keyPressed(KeyEvent e) {
- switch(e.getKeyCode())
- {
- case KeyEvent.VK_RIGHT:
- dx = 2;
- if(keys[2])
- dy = -2;
- else if(keys[3])
- dy = 2;
- keys[0] = true;
- break;
- case KeyEvent.VK_LEFT:
- dx = -2;
- if(keys[2])
- dy = -2;
- else if(keys[3])
- dy = 2;
- keys[1] = true;
- break;
- case KeyEvent.VK_UP:
- dy = -2;
- if(keys[0])
- dx = 2;
- else if(keys[1])
- dx = -2;
- keys[2] = true;
- break;
- case KeyEvent.VK_DOWN:
- dy = 2;
- if(keys[0])
- dx = 2;
- else if(keys[1])
- dx = -2;
- keys[3] = true;
- break;
- case KeyEvent.VK_ESCAPE:
- showMenu();
- break;
- }
- sqr.setDx(dx);
- sqr.setDy(dy);
- }
- @Override
- public void keyReleased(KeyEvent e){
- if((e.getKeyCode() == KeyEvent.VK_LEFT))
- {
- keys[1] = false;
- this.dx = 0;
- }
- else if((e.getKeyCode() == KeyEvent.VK_RIGHT))
- {
- keys[0] = false;
- this.dx = 0;
- }
- else if((e.getKeyCode() == KeyEvent.VK_UP))
- {
- keys[2] = false;
- this.dy = 0;
- }
- else if((e.getKeyCode() == KeyEvent.VK_DOWN))
- {
- keys[3] = false;
- this.dy = 0;
- }
- sqr.setDx(this.dx);
- sqr.setDy(this.dy);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment