国产探花免费观看_亚洲丰满少妇自慰呻吟_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);
  }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜良县| 临邑县| 富川| 丰宁| 巫溪县| 洪江市| 开阳县| 鹤山市| 湛江市| 兴国县| 隆安县| 若尔盖县| 黔江区| 三亚市| 西贡区| 瓮安县| 河东区| 喜德县| 正定县| 凌源市| 綦江县| 五原县| 邓州市| 吕梁市| 广东省| 玛曲县| 阿克陶县| 来安县| 明溪县| 睢宁县| 华安县| 延吉市| 寿宁县| 富裕县| 集贤县| 中方县| 蓬溪县| 祁连县| 小金县| 凤庆县| 莱州市|