服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java事件的小总结

java事件的总结

                                                                                                                                                               黄玉生、1114

在学了这么久的java事件总觉的有点搞不清,我想是没有总结的原因吧。下面我将我的几个小例子来更清的了解一下java事件。java事件无非就是键盘事件,鼠标事件,按钮等事件。专业点可以分为语义事件(按钮等到事件)和低层事件(键盘事件,鼠标事件);下面我简要的总结一下:                                    1、鼠标事件:点鼠标按钮事它会调用三个监听器方法:mousepressed,mousereleased,mouseclicked.

鼠标事件提供了mousepressed,mouseclicked,mousedragged,mouseentered,mouseexitedmouseupmousedownmousedrag等事件。下面介绍一个鼠标一例子:

import java.awt.*;

import java.applet.applet;

public class countclick extends applet

{int currentmarks=0;

int a,b;

 public boolean mousedown(event evt,int x,int y)//鼠标按下时做的事

 { currentmarks++;//计录按下次数

   repaint();//刷新面版

   a=x;//得到鼠标的横坐标

   b=y;//得到鼠标的竖坐标

   return true;

 }

 public void paint(graphics g)

 { g.drawstring(" "+currentmarks,10,10);//打印按下次数

   g.drawstring(" "+a,10,30);//打印鼠标的横坐标

   g.drawstring(" "+b,10,20);//打印鼠标的坚坐标

 }

}

 

//<applet code="countclick.class" width="200" height="100"></applet>           

   2键盘事件:如果我们希望使用键盘获得输入信息,就必须处理键盘事件。我们可以用在conponentkeydown来实现。如下例子:

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

{   char presskey;

     public boolean keydown(event evt, int key)

     {   presskey=(char)key;//记录你按下的键

     repaint(); return true;

}

      public void paint(graphics g)

     {    g.drawstring(presskey,10,10); }//打印你按下的键值

}

         3、铵钮等事件:这方面的内容比较多,通过一个例子做一个简单的介绍。

//*******2004年,118**************//

//*******小豆子对事件进一步了解******//

//*******注意repaint()方法的使用******//

//**通过本程序对java的数据隐藏有了一近一步的了解***///

//*******继续努力。gogogogogo******//

import java.awt.*;

import java.applet.applet;

import java.awt.event.*;

public class awtactiontest2 extends applet implements itemlistener ,actionlistener

//实现itemlistener ,actionlistener接口

{

 int num = 5;

  choice ch=new choice ();

 button one=new button("one");

 button two=new button("two");

 button three=new button("three");

 image  aa[];

 image  a;

 public void init()

 {

        aa = new image[num];

        for(int i = 0; i < num; i++)//把图片的路径加到数组中存储

        {

            aa[i] = getimage(getdocumentbase(),"a"+(i+1)+".jpg");

        }

        num=4;//给一个初值

 this.setbackground(color.white);

 ch. additem("a1.jpg" );

 ch. additem ("a2.jpg" );

 ch. additem ("a3.jpg" );

 ch. additem ("a4.jpg" );

 add (ch);

 a = getimage(getdocumentbase(),"a1.jpg");//a一个初值;

 add (one);

 add (two);

 add (three);

 ch.additemlistener(this);//注意把itemlistener接口implements进来

 one.addactionlistener(this);//注意把actionlistener接口implements进来

 two.addactionlistener(this);

 three.addactionlistener(this);

 }

public void itemstatechanged (itemevent e)

  {

  

    a = getimage(getdocumentbase(),ch.getselecteditem ());

    repaint();

  }

 public void actionperformed(actionevent e)

 {

 if(e.getsource()==one)

 {

        num=1;

        repaint();//对程序刷新

 }

 if(e.getsource()==two)

 {

        num=2;

        repaint();

 }

 if(e.getsource()==three)

 {

        num=3;

        repaint();

 }

 }

 public void paint(graphics g)

 {

        //g.drawimage(aa[i],0,0,this);

    

  int w=a.getwidth(this);

  int h=a.getheight(this);

 // g.drawline(100,1,200,500);

 try{

 g.drawimage(a,20,300,10+w,20+h,this);//要抓异常,如果图片找不到呢

 g.drawimage(aa[num],50,50,200,200,this);

 }

 catch(exception e)

 {

  system.out.println(e);

 }

  }

 public boolean handleevent(event ewt)//关窗体,我原以为这个可以把死循环给关了,其它不然.一样的关不了程序

 {

         if(ewt.id==event.window_destroy)

          system.exit(0);

          else

          return super.handleevent(ewt);

          return true;

 }

}

//<applet code="awtactiontest2.class" width=400 height=500></applet>

注意:由于我还是开始学习写文档,还没有什么水平请大家谅解。

 

 

扫描关注微信公众号