📄 mousekeyeventdemo.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseKeyEventDemo extends JApplet //该程序为小程序,主窗口为JApplet
{
private int lastX=0,lastY=0; //变量用于记录上一次的坐标位置
public void init()
{
addMouseListener(new RecordFocus()); //添加获取鼠标位置的监听器
addMouseMotionListener(new DrawLine()); //添加拖动鼠标画线的监听器
addKeyListener(new DrawChar()); //添加敲击键盘显示字符的监听器
}
protected void record(int x,int y) //此方法记录焦点的坐标位置
{
lastX=x;
lastY=y;
}
private class RecordFocus extends MouseAdapter
{
public void mouseEntered(MouseEvent e)
{
record(e.getX(),e.getY()); //记录焦点的坐标位置
}
public void mousePressed(MouseEvent e)
{
record(e.getX(),e.getY()); //记录焦点的坐标位置
}
}
private class DrawLine extends MouseMotionAdapter
{
public void mouseDragged(MouseEvent e)
{
Graphics g=getGraphics(); //得到绘制图形对象g
g.setColor(Color.red); //设置绘制颜色为红色
int x=e.getX(); //获取当前鼠标位置横坐标
int y=e.getY(); //获取当前鼠标位置纵坐标
g.drawLine(lastX,lastY,x,y);//在鼠标前后两个位置间画线
record(x,y); //记录当前鼠标位置
}
}
private class DrawChar extends KeyAdapter
{
public void keyTyped(KeyEvent e)
{
Graphics g=getGraphics(); //得到绘制图形对象g
g.setColor(Color.blue); //设置绘制颜色为蓝色
String s=String.valueOf(e.getKeyChar());//获取按键的字符
g.drawString(s,lastX,lastY);//在当前焦点位置画出字符
record(lastX+8,lastY); //记录新的焦点位置
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -