我们在进行java的GUI开发的时候,按钮以及鼠标监听的使用无疑是相当最要的,而如何巧妙的运用这些监听器,对今后的开发更是有很大的帮助,下面将分别介绍。
实现按钮监听的方法:
在java.awt.event下面有一个ActionListener的类,它是一个用于接收操作事件的侦听器接口,对处理操作事件感兴趣的就可以去使用这个接口。
首先我们需要写一个类去实现这个接口,然后对我们的JButton对象添加按钮响应,最后再给这个按钮添加监听器,具体代码如下:
JButton bu=new JButton("按钮");
bu.setActionCommand("press");//设置按钮响应
bu.addActionListener(listener);//添加按钮监听
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
publicclass MyActionListener implements ActionListener{
publicvoid actionPerformed(ActionEvent e){
String com=e.getActionCommand();//得到按钮响应
if(com.equals("press")){
System.out.println("点击了");
}
}
}
当然,可以通过匿名内部类的方法来给按钮添加监听,这里就不再详细介绍了,需要注意的是,每个按钮都可以通过设置独立的按钮响应来实现不同按钮之间的功能。是不是很方便呢?
讲完了按钮响应,接下来就来介绍一下鼠标响应,我们可以在窗体上通过鼠标实现各种功能,如画图板,五子棋,鼠标游戏等等,这是GUI中一个非常重要的点,学好了这个对今后的各种应用开发都有极大的帮助。
废话不多说,下面就来做一做吧:
首先,实现鼠标监听有两种方法,一是实现java.awt.MouseListener类,这是一个用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口,同样要用上面ActionListener的实现方法,具体如下:
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
publicclass MyMouseListener implements MouseListener{
//鼠标点击事件
publicvoid mouseClicked(MouseEvent e){
System.out.println("mouseClicked");
}
//鼠标按下事件
publicvoid mousePressed(MouseEvent e){
System.out.println("mousePressed");
}
//鼠标释放事件
publicvoid mouseReleased(MouseEvent e){
System.out.println("mouseReleased");
}
//鼠标进入事件
publicvoid mouseEntered(MouseEvent e){
System.out.println("mouseEntered");
}
//鼠标离开事件
publicvoid mouseExited(MouseEvent e){
System.out.println("mouseExited");
}
}
当然,这个时候我们是要向窗体添加监听,所以应该对窗体使用addMouseListener()的方法,不过这个方法代码太过于冗长,而且其中的一些方法并不是我们每次都会用上,那么下面还有一种方法,是通过实现MouseAdapter类来实现的,这是一个抽象类,可以通过其他类继承它来实现,我们可以查看他的源码:
public abstract class MouseAdapter implements MouseListener, MouseWheelListener, MouseMotionListener
我们发现,这个抽象类实现了三个接口,MouseListener,MouseWheelListener以及MouseMotionListener,所以这个抽象类也就实现了这三个类中的所有方法,而且在使用的时候,我们可以只写出自己需要使用的方法,是不是感觉更加灵活呢?具体的使用,我会在简易画图板的制作中提到,大家不妨试一下吧。
相关推荐
在Java Swing中,有多种类型的监听器,例如动作监听器(ActionListener)、鼠标监听器(MouseListener)、键盘监听器(KeyListener)和窗口监听器(WindowListener)等。例如,如果我们想要在用户点击按钮时执行某些...
在Java编程中,`MouseMotionListener`接口是用于监听鼠标移动和鼠标拖动事件的关键工具。这个接口提供了处理鼠标移动到组件上、离开组件、以及鼠标拖动时触发的事件的方法。下面我们将深入探讨如何使用`...
java代码介绍按钮监听器的使用,使用简单的例子,详细生动的展示了监听器的使用。
例如,在图形用户界面编程中,我们可以使用监听器模式来处理按钮点击事件、鼠标移动事件等。 在上面的示例代码中,我们定义了一个事件源Robot,包含工作和跳舞两个事件。然后,我们定义了一个事件监听器接口...
Java中的监听机制与观察者设计模式是编程中重要的概念,它们在软件开发中扮演着关键的角色,尤其是在构建可扩展和可维护的系统时。这里,我们将深入探讨这两个主题,并通过实例来阐述它们的工作原理和应用。 首先,...
在Java编程语言中,事件监听是构建用户界面(UI)应用程序的一个关键概念。它允许程序对用户的行为作出响应,如点击按钮、选择菜单项或在文本框中输入文本。Java自定义事件监听允许开发者创建自己的事件类型并相应地...
这里的关键点在于`Graphic`实现了`ActionListener`和`MouseListener`接口,这意味着它可以处理按钮点击事件以及鼠标事件。 ##### 3. 设置窗口属性 为了初始化窗口,通常会设置其大小、标题等属性。例如: ```java ...
java swing JButton 圆角按钮 带变色(有注释,简单易懂适用于初学者 程序可直接运行)
这篇博客“java监听器”可能详细解释了如何在Java中使用监听器以及它们在实际项目中的应用。 首先,我们来理解什么是Java监听器。在Java Swing或JavaFX等GUI库中,监听器是接口,实现了这些接口的类可以“监听”...
在计算机编程中,鼠标监听通常涉及到事件驱动编程,即当用户执行鼠标操作(如点击、移动、拖拽等)时,程序会接收到相应的事件并执行预定的处理函数。这主要通过定义鼠标事件监听器(MouseListener)来实现,它包含...
下面是一个简单的例子,展示如何在Java Swing环境中添加鼠标监听器: ```java import javax.swing.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class MouseEventExample { ...
在Java开发中,模拟鼠标和键盘操作是一项实用的技术,它允许程序员通过代码来模拟用户对计算机的交互行为,比如点击、移动鼠标、按键输入等。这样的功能在自动化测试、远程控制、游戏辅助等方面有着广泛的应用。下面...
根据提供的文件信息,可以看出这是一段不完整的 Java 代码,主要涉及了 Java 中的基本界面构建、菜单栏设计以及按钮操作等内容。接下来将基于这段代码的关键部分进行知识点的梳理与总结。 ### Java GUI 基础 #### ...
1. **事件监听**:为了响应用户的鼠标点击,开发者需要设置事件监听器(MouseListener或ActionListener),当用户点击按钮时触发相应的方法。 2. **线程管理**:计时器通常在后台线程中运行,因此开发者需要理解多...
在坦克大战游戏中,可能需要监听键盘输入来控制坦克移动,监听鼠标点击进行射击等。 具体到这个项目,"javaSrc109.zip"很可能包含了游戏的源代码,可能包括了游戏逻辑、界面组件定义、事件处理函数等。下载并解压后...
在坦克大战中,可能需要监听键盘输入以控制坦克移动,或者监听鼠标点击以发射炮弹,这都依赖于事件监听机制。 4. **坦克大战源码**: 坦克大战源码是学习这些技术的一个具体应用实例。通过阅读和分析源代码,...
在Java编程语言中,事件监听和图形绘画是两个重要的概念,尤其在开发用户界面(UI)应用程序时。这里我们将深入探讨这两个主题,并结合"www.pudn.com.txt"和"国旗"这两个文件名称来理解它们如何关联。 首先,让我们...
在Java Swing中,我们可以创建一个`JFrame`或`JPanel`,然后添加一个`MouseListener`来监听鼠标事件。对于鼠标右键点击事件,我们通常关注`MouseAdapter`的`mouseClicked`方法。如果检测到用户按下了右键,我们可以...
在实际应用中,可能还会涉及多级事件处理,例如事件冒泡和事件捕获,以及更复杂的事件类型,如键盘事件、鼠标事件等。 监听者模式的优点在于它提高了代码的可扩展性和解耦性。事件源无需知道具体的事件处理逻辑,只...
在Java编程环境中,控制Windows操作系统中的鼠标和键盘是一项常见的需求,尤其在自动化测试、远程桌面控制或者模拟用户交互等场景中。本项目名为"java控制windows鼠标键盘",旨在提供一个工具箱,允许开发者通过调用...