以下代码包含了:键盘监听、窗口监听、鼠标监听及画笔
package com.yundait.lesson03;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Iterator;
public class TestKeyListener {
public static void main(String[] args){
new KeyFrame();
}
}
class KeyFrame extends Frame{
ArrayList points1; //声明points变量类型
//画笔paint
@Override
public void paint(Graphics g) {
Iterator iterator = points1.iterator();
while(iterator.hasNext()){
Point point = (Point) iterator.next();
g.setColor(Color.red);
g.fillOval(point.x, point.y,10, 10);
}
}
//使用构造器方法,进行初始化窗口
public KeyFrame(){
setBounds(100,100,500,500);
setVisible(true);
points1 = new ArrayList<>();
//窗口监听
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//键盘监听
addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_UP){
System.out.println("你按下了上键");
}
}
});
//鼠标监听
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
KeyFrame keyFrame = (KeyFrame) e.getSource();
Point point1 = new Point(e.getX(), e.getY());
keyFrame.points1.add(point1);
keyFrame.repaint();
}
});
}
}