java基础事件

java基础事件今天讲一下 JavaGUI 中的事件处理 图形用户界面系统借助事件驱动模式处理所有用户交互 用户执行一个操作 如移动鼠标 单击鼠标按钮 按下键盘上的某个键 释放键盘键等 所有这些操作都将生成某种类型的事件 在 Java 中 每一个执行的操作都是一个事件 处理这些事件的方式取决于应用程序的类型 一些事件由 抽象窗口操作工具包 AWT 或者执行这些应用程序的环境来处理

大家好,我是讯享网,很高兴认识大家。



  今天讲一下JavaGUI中的事件处理。

  图形用户界面系统借助事件驱动模式处理所有用户交互。用户执行一个操作,如移动鼠标,单击鼠标按钮,按下键盘上的某个键,释放键盘键等。所有这些操作都将生成某种类型的事件。在Java中,每一个执行的操作都是一个事件。

  处理这些事件的方式取决于应用程序的类型。一些事件由“抽象窗口操作工具包(AWT)”或者执行这些应用程序的环境来处理。如浏览器或者Applet小程序。有一些事件需要调用此处理程序。

  监听器

  事件处理模型是一个过程,即应用程序允许使用称为监听器的对象注册到处理程序的过程。当发生适当的事件时,将自动通知这些注册过监听器,某个动作被触发了。

image.png

  事件监听程序即监听器监听由对象发生的特定事件。这个过程将依次调用处理事件的方法,即事件处理程序。每一个事件监听程序将提供了处理这些事件的方法。

  简单来说,监听器是个接口,如果你想监听组件的某一动作,比如鼠标点击,按钮按下这些事件,你就要实现鼠标监听器,或者按钮监听器等这样的接口,然后再把这个实现了接口的对象注册到要监听的组件上。

  对按钮事件的处理

  只要鼠标在某个按钮上单击,就会生成一个事件。

  看下面的例子

  Buttonbutton=newButton("确定");

  button.addActionListener(newActionListener(){

  publicvoidactionPerformed(ActionEvente){

  JOptionPane.showMessageDialog(null,"你点击了按钮");

  }

  });

  Button是确定按钮,我们调用Button的addActionListener方法给它添加了一个点击事件监听器。

  AddActionListener方法接受一个参数,这个参数是一个ActionListener对象。由于ActionListener是个接口,因为要实现这个接口的类作为参数。ActionListener接口只有一个方法需要实现,actionPerformed(ActionEvente)这个方法将在按钮按下的时候发生。将传递一个事件对象ActionEvent。

  我们在这里用到了匿名类的写法,即不使用对象引用,直接实例化一个类对象来实现ActionListener接口。一般实现事件处理用匿名类比较方便,大家可以熟悉一下这样的写法。

  以上的代码等同于:

  Buttonbutton=newButton("确定");

  MyActionListeneral=newMyActionListener();

  button.addActionListener(al);

  classMyActionListenerimplementsActionListener{

  publicvoidactionPerformed(ActionEvente){

  JOptionPane.showMessageDialog(null,"你点击了按钮");

  }

  }

  鼠标事件

  Java语言支持用户通过鼠标与应用程序进行交互。程序可以检测鼠标并对鼠标操作中发生的变化作出反应。。鼠标事件通过MouseListener接口处理,并通过如下方法对事件反应。

  mouseClicked:点击事件,当点击和释放鼠标按钮时处理此事件。

  mouseEntered:当鼠标进入一个组件时处理此事件。

  mouseExitied:当鼠标离开组件时处理此事件。

  mousePressed:当鼠标按下时处理此事件。

  mouseReleased:当鼠标释放时处理此事件。

  例子,我们来写个程序,当鼠标进入窗体时提示鼠标进入,离开时提示鼠标离开

  publicclassMouseEventDemoextendsFrameimplementsMouseListener{

  privatePanelpanel=newPanel();

  privateLabellabel;

  publicMouseEventDemo(){

  setBounds(100,100,300,300);

  add(panel);

  label=newLabel("Newlabel");

  panel.add(label);

  panel.addMouseListener(this);

  }

  privatestaticfinallongserialVersionUID=L;

  @Override

  publicvoidmouseClicked(MouseEvente){

  label.setText("你点击了鼠标");

  }

  @Override

  publicvoidmousePressed(MouseEvente){

  label.setText("你按下了鼠标");

  }

  @Override

  publicvoidmouseReleased(MouseEvente){

  label.setText("你释放了鼠标键");

  }

  @Override

  publicvoidmouseEntered(MouseEvente){

  label.setText("鼠标进入");

  }

  @Override

  publicvoidmouseExited(MouseEvente){

  label.setText("鼠标退出");

  }

  publicstaticvoidmain(String[]args){

  MouseEventDemodemo=newMouseEventDemo();

  demo.setVisible(true);

  }

  }

java基础事件

image.png

  总结:

  要理解AWT对于事件处理的机制

  掌握常见的事件处理类

  熟悉匿名类的写法

  以上就是动力Java培训机构小编介绍的“Java零基础入门编程:GUI事件处理”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

小讯
上一篇 2024-12-31 11:03
下一篇 2024-12-29 07:13

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/843.html