事件的总结 黄玉生、 11 、 14 在学了这么久的 JAVA 事件总觉的有点搞不清,我想是没有总结的原因吧。下面我将我的几个小例子来更清的了解一下 JAV" name="description" />
JAVAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件的总结 黄玉生、11、14 在学了这么久的JAVA事件总觉的有点搞不清,我想是没有总结的原因吧。下面我将我的几个小例子来更清的了解一下JAVA事件。JAVA事件无非就是键盘事件,鼠标事件,按钮等事件。专业点可以分为语义事件(按钮等到事件)和低层事件(键盘事件,鼠标事件);下面我简要的总结一下: 1、鼠标事件:点鼠标按钮事它会调用三个监听器方法:mousePressed,mouseReleased,mouseClicked. 鼠标事件提供了mousePressed,mouseClicked,mouseDragged,mouseEntered,mouseExited, mouseUp,mouseDown,mouseDrag等事件。下面介绍一个鼠标一例子: 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、键盘事件:如果我们希望使用键盘获得输入信息,就必须处理键盘事件。我们可以用在Conponent的keyDown来实现。如下例子: 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年, //*******小豆子对事件进一步了解******// //*******注意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> 注意:由于我还是开始学习写文档,还没有什么水平请大家谅解。