国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

鼠標事件和鍵盤事件

2019-11-18 15:15:26
字體:
來源:轉載
供稿:網友

  ◆ 鼠標事件

  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);
  }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贺兰县| 南漳县| 富裕县| 广西| 文水县| 金昌市| 公安县| 邮箱| 五常市| 通山县| 县级市| 平果县| 垦利县| 安远县| 杭锦后旗| 永寿县| 安顺市| 荔波县| 偃师市| 黄陵县| 韶关市| 赤水市| 屏东县| 太和县| 安西县| 双辽市| 大田县| 民县| 博罗县| 贵阳市| 晋州市| 历史| 揭阳市| 上饶市| 本溪市| 白玉县| 宝山区| 镇赉县| 宝山区| 黔东| 开平市|