动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.Abstractclass和interface在Java.
.于有状态和无状态会话bean的解释.
.J2SE综合:属性配置文件的使用方.
.关于finalize()方法的解释.
.java 使用命令行参数.
.[JAVA100例]067、线程优先级.
.用Java实现音频播放.
.揭开Java 安全标准的神秘面纱.
.Vector在Java编程中的应用.
.开源技术:Eclipse 插件功能研究.
.百分之百纯Java(TM)--名词解释.
.对等点如何彼此定位实现交互功能.
.tomcat向weblogic移植的中文乱码.
.Java桌面应用程序设计:SWT.
.Eclipse Web工具 Project 1.0 RC.
.Java 范型攻略篇.
.Java入门笔记4_访问控制和包.
.Struts开发指南之Taglib.
.教您如何解决J2ME开发中的连续按.
.实现具有动态主机IP的域名解析.

鼠标事件和键盘事件

发表日期:2008-1-5 |



  ◆ 鼠标事件

  mouseDown(Event evt, int x, int y) 鼠标键被按下

  mouseUp(Event evt, int x, int y) 鼠标键抬起

  mouseDrag(Event evt, int x, int y) 鼠标被拖拽

  mouseMove(Event evt, int x, int y) 鼠标被移动

  mouseEnter(Event evt, int x, int y) 鼠标移入 Applet 显示区域

  mouseExit(Event evt, int x, int y) 鼠标移出 Applet 显示区域

  参数 x 和 y 是鼠标的坐标。

◆ 键盘事件

  keyDown(Event evt, int key)

  keyUp(Event evt, int key)

  通过参数 key 可得知按下了什么键。

  假如按下了非凡键,可利用 Event.DOWN、Event.UP、Event.LEFT、Event.RIGHT 等进行辨认。

◆ 例题:疯狂的按钮

  说明:程序很简单。使用了 mouseDown() 方法。每当用户用鼠标按下一个按钮时,将其上、下、左、右的四个按钮也按下去。直到将所有的按钮全部都按下去为止。

import Java.applet.*;
import java.awt.*;

public class madbut extends Applet
{
  myframe frame1;
  Graphics g1;
  Image img[]=new Image[2];

  int count=0;
  byte a1[][]={{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}};

  public void init()
  {
    g1=getGraphics();
    img[1] = getImage(getCodeBase(), "red.gif");
    img[0] = getImage(getCodeBase(), "green.gif");
  }

  public void destroy()
  {
  }

  public void paint(Graphics g)
  {
    for(int i=0;i<4;i++)
    {
      for(int j=0;j<4;j++)
      {
        g.drawImage(img[a1[i][j]],i*32,j*32,this);
      }
    }
    g.drawString("Steps: "+count, 10, 140);
  }

  public boolean mouseDown(Event event, int i, int j)
  {
    int b=0;
    i/=32;
    j/=32;
    if(i>3j>3) return true;

    if(a1[i][j]!=0) a1[i][j]=0; else a1[i][j]=1;
    if(i<3)
      if(a1[i+1][j]!=0) a1[i+1][j]=0; else a1[i+1][j]=1;
    else
      if(a1[0][j]!=0) a1[0][j]=0; else a1[0][j]=1;

    if(i>0)
      if(a1[i-1][j]!=0) a1[i-1][j]=0; else a1[i-1][j]=1;
    else
      if(a1[3][j]!=0) a1[3][j]=0; else a1[3][j]=1;

    if(j<3)
      if(a1[i][j+1]!=0) a1[i][j+1]=0; else a1[i][j+1]=1;
    else
      if(a1[i][0]!=0) a1[i][0]=0; else a1[i][0]=1;

    if(j>0)
      if(a1[i][j-1]!=0) a1[i][j-1]=0; else a1[i][j-1]=1;
    else
      if(a1[i][3]!=0) a1[i][3]=0; else a1[i][3]=1;

    count++;
    repaint();

    for(i=0;i<4;i++)
    {
      for(j=0;j<4;j++)
      {
        g1.drawImage(img[a1[i][j]],i*32,j*32,this);
      }
    }
    for(i=0;i<4;i++)
    {
      for(j=0;j<4;j++)
      {
        if(a1[i][j]==0) return true;
      }
    }
    frame1=new myframe();
    frame1.resize(320,240);
    frame1.show();
    for(i=0;i<4;i++)
    {
      for(j=0;j<4;j++)
      {
        a1[i][j]=0;
        g1.drawImage(img[0],i*32,j*32,this);
      }
    }
    return true;
  }
}

class myframe extends Frame
{
  Button BTn1;
  public myframe()
  {
    Label label1=new Label("SUCcessful!");
    add(label1);
    label1.reshape(20,70,100,25);

    btn1=new Button("OK");
    add(btn1);
    btn1.reshape(135,135,50,25);
  }
  public boolean action(Event evt,Object arg)
  {
    if(evt.target==btn1)
    {
      this.hide();
    }
    return true;
  }
  public boolean handleEvent(Event evt)
  {
    if(evt.id==Event.WINDOW_DESTROY)
    {
      this.hide();
      return true;
    }
    return super.handleEvent(evt);
  }
}
上一篇:数据绑定实践:涉入真实世界 人气:488
下一篇:Java 程序初始化过程详解 人气:590
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-12-1 MyBB v1.4.4 简体中文版 bulid 2
2008-12-1 新云网站内容管理系统 v4.0.0.11
2008-12-1 网趣网上购物系统时尚版 v8.8
2008-12-1 Textpattern v4.0.7 多国语言版
2008-12-1 Piwik ( PHP统计系统,可以和GOOG
2008-12-1 天空网络电影系统SKYUC! v2.6.2
2008-12-1 SiteDynamic企业网站管理系统 v1
2008-12-1 KindEditor HTML在线编辑器 v3.0
2008-12-1 0451sky高校教务管理系统2008 v4
2008-11-29 Tencent Traveler 4.4
2008-11-29 龙卷风网络收音机 v3.0.0.0
2008-11-29 Intel Chipset Software Install
2008-11-29 TweakVI 1.0 Build 1100
2008-11-29 Opera 9.62 Build 10469
2008-11-29 MPlayer WW编译版 SVN-r28044(20
2008-11-29 NetTools网络工具v1.0.0破解版
2008-11-29 3DGallery三维体验1.1破解版
2008-11-29 SecretBook保密本v1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | OPEN参数生成器 | 弹出式窗口代码产生器 | 密码登录生成器 | 在线按钮生成器 | Meta标签生成器 | 多色彩特效字代码生成器 | 网页代码调试器 | 在线FTP登陆 | Flash取色器 | 配色代码对照表 | 配色辞典 | CSS生成器 | 广告代码 | 框架网页代码生成器 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | 在线调色板 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 元素周期表 | 健康查询 | 世界时间 | 万年历 | 二十四节气 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2009 www.knowsky.com All rights reserved | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成