博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在JAVA中如何判断按下两个键
阅读量:6478 次
发布时间:2019-06-23

本文共 2145 字,大约阅读时间需要 7 分钟。

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();
    }
    
}

转载于:https://www.cnblogs.com/lixiaolun/archive/2012/12/13/2816094.html

你可能感兴趣的文章
分析Linux 文件系统访问控制列表
查看>>
spring中的设计模式(二)
查看>>
VMware内存不足解决方案
查看>>
Nginx基础
查看>>
python列表解析和生成表达式浅要说明
查看>>
Java注解Annotation详解
查看>>
揭开AS程序的外纱(八) -- 容易被忽视的数组实用功能
查看>>
物理内存低于896M各个区到底是怎么映射的
查看>>
linux下的缓存机制及清理buffer/cache/swap的方法梳理
查看>>
安装和配置 Virtual Server
查看>>
Priority VS Bandwidth
查看>>
携程加入百度系 OTA王座利好呈现
查看>>
学习使用SAMinside心得笔记
查看>>
SQL存储过程中的几个常见设定SET QUOTED_IDENTIFIER/NOCOUNT/XACT_ABORT ON/OFF
查看>>
第一部分:基础知识(第一章)第一个 Silverlight 手机程序
查看>>
Silverlight与Flash区别之一
查看>>
删除恢复Hadoop集群中的DataNode
查看>>
Silverlight 2动态创建矩形对象(附完整源代码)
查看>>
PowerShell中对属性设置别名
查看>>
从京东技术演进看互联网企业的成长历程
查看>>