编写一个组合鼠标事件和键盘事件的程序,该程序模拟一个电子白板,用户用鼠标在白板上画画,并通过键盘在上面写字
2012-03-06 17:28
716 查看
//<applet code = MouseAndKeyDemo.class height = 100 width = 150> //</applet> import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class MouseAndKeyDemo extends Applet{ protected int lastX = 0, lastY = 0; public void init() { addMouseListener(new PositionRecorder()); addMouseMotionListener(new LineDrawer()); addKeyListener(new CharDrawer()); setForeground(Color.blue); setBackground(Color.white); } protected void record(int x, int y) { lastX = x; lastY = y; } private class PositionRecorder extends MouseAdapter { public void mouseEnter(MouseEvent e) { requestFocus(); record(e.getX(),e.getY()); } public void mousePressed(MouseEvent e) { record(e.getX(),e.getY()); } } private class LineDrawer extends MouseMotionAdapter { public void mouseDragged(MouseEvent e) { int x = e.getX(); int y = e.getY(); Graphics g = getGraphics(); g.drawLine(lastX, lastY, x, y); record(x, y); } } private class CharDrawer extends KeyAdapter { public void keyTyped(KeyEvent event) { String s = String.valueOf(event.getKeyChar()); getGraphics().drawString(s, lastX, lastY); record(lastX + 11, lastY); } } }
相关文章推荐
- 编写一个Applet响应鼠标事件,用户可以通过拖动鼠标在Applet中画出蓝色的圆点
- 编写多线程程序,模拟多个人通过一个山洞。
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出
- 华为:通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- 2. 编写一个Java应用程序,用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、32
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- 作业1 编写多线程程序,模拟多个人通过一个山洞。
- 通过键盘输入100 以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- 编写一个单文档界面应用程序,该程序可以测试在鼠标左键按下时鼠标光标的位置是否处在某规定的矩形框内,如果不在该矩形内则计算机的扬声器会发出“叮”的声音,反之则会在用户区显示光标的位置。
- 报告鼠标和键盘事件的一个程序(转)
- 华为机试——通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- (华为机考题)通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次通过山洞的人名
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次
- 华为:通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。
- vc++6.0 模拟鼠标点击代码 木马程序的编写 VC 模拟键盘输入
- qtp录制鼠标右键单击事件要通过模拟键盘操作来实现
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。
- 黑马程序员--图形界面中的鼠标,键盘两个事件,做一个磁盘的文件列表,菜单,子菜单,模拟记事本。网络编程,TCP的通信协议的特点