在JAVA中如何判断按下两个键

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;


import javax.swing.JFrame;
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
 *
 * @author 李效伦 */
public class HOHO extends JFrame implements KeyListener{
   
    private JTextField t;
    private boolean left = false;
    private boolean right = false;
    private boolean up = false;
    private boolean down = false;
     public HOHO() {
       JPanel p = new JPanel();
       this.add(p);
       p.setLayout(null);
       t = new JTextField();
       t.setEditable(false);
       p.add(t);
       t.setSize(100,30);
       t.setLocation(200,200);
       this.setFocusable(true);
       this.addKeyListener(this);
       this.setSize(480,480);
       this.setVisible(true);
       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
     }
    public void keyTyped(KeyEvent e) {
       
    }
    public void keyPressed(KeyEvent e) {
      
       int i = e.getKeyCode();
       switch(i) {
           case  KeyEvent.VK_LEFT :  left=true;  break;
           case  KeyEvent.VK_UP :   up= true;break;
           case  KeyEvent.VK_DOWN :down = true; break;
           case  KeyEvent.VK_RIGHT : right = true;break;
       }
      
       if(up==false&&down==false&&left==false&&right==false) {
         t.setText("什么也没按");
       }
       else if(up==true&&down==false&&left==false&&right==false) {
         t.setText("上");
       }
       else if(up==false&&down==true&left==false&&right==false) {
            t.setText("下");
       }
       else if(up==false&&down==true&left==true&&right==false) {
         t.setText("左下");
       }
       else if(up==true&&down==false&left==false&&right==true) {
         t.setText("右上");
       }
       else if(up==true&&down==false&left==true&&right==false) {
         t.setText("左上");
       }
        else if(up==false&&down==true&left==false&&right==true) {
         t.setText("右下");
       }
       else if(up==false&&down==false&left==true&&right==false) {
            t.setText("左");
       }
       else if(up==false&&down==false&left==false&&right==true) {
            t.setText("右");
       }
      
    }
    public void keyReleased(KeyEvent e) {
      int i = e.getKeyCode();
       switch(i) {
           case  KeyEvent.VK_LEFT :  left=false;  break;
           case  KeyEvent.VK_UP :   up= false;break;
           case  KeyEvent.VK_DOWN :down = false; break;
           case  KeyEvent.VK_RIGHT : right = false;break;
       }
    }
   
    public static void main(String[] args){
     new HOHO();
    }
    
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值