键盘驱动java_【JAVA语言程序设计基础篇】--事件驱动程序设计--键盘事件

package chapter16;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import javax.swing.JFrame;

import javax.swing.JPanel;

@SuppressWarnings("serial")

public class KeyEventDemo extends JFrame{

aa one = new aa();

public KeyEventDemo (){

add(one);

one.setFocusable(true);

}

public static void main(String[] args) {

KeyEventDemo frame = new KeyEventDemo();

frame.setTitle("KeyEventDemo");

frame.setLocationRelativeTo(null); // Center the frame

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(300, 300);

frame.setVisible(true);

}

static class aa extends JPanel{

private int x = 50;

private int y = 50;

private char keychar = 'A';

public aa(){

addKeyListener(new KeyAdapter() {

public void keyPressed(KeyEvent e) {

switch (e.getKeyCode()) {

case KeyEvent.VK_DOWN: y += 10; break;

case KeyEvent.VK_UP: y -= 10; break;

case KeyEvent.VK_LEFT: x -= 10; break;

case KeyEvent.VK_RIGHT: x += 10; break;

default: keychar = e.getKeyChar();

}

repaint();

}

});

}

protected void paintComponent(Graphics g){

super.paintComponent(g);

g.setFont(new Font("TimesRoman",Font.PLAIN,24));

g.drawString(String.valueOf(keychar), x, y);

}

}

}

点击键盘上的字母,输出在屏幕上,如果不是字母,不显示

另外 按方向键,可以控制字母的左右上下方向移动

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值