-
2021-02-28 10:08:57
求个大牛帮忙解答一下:我写的这个程序中,Mytestawt_1类继承Frame并且实现了MouseListenner接口,可是运行之后鼠标点击按钮b1,b2,b3却没有被监听到过,求一位大神解答,再次谢过!代...
求个大牛帮忙解答一下:
我写的这个程序中,Mytestawt_1类继承Frame并且实现了MouseListenner接口,可是运行之后鼠标点击按钮b1,b2,b3却没有被监听到过,求一位大神解答,再次谢过!
代码如下:
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.CardLayout;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class MyTestawt_1 extends Frame implements MouseListener {
//定义按钮以及面板布局
private Button b1 = new Button("第一页");
private Button b2 = new Button("第二页");
private Button b3 = new Button("第三页");
private Panel p2 = new Panel();
private Panel p1 = new Panel();
private CardLayout cl = new CardLayout();
//构造方法
public MyTestawt_1(String str){
super(str);
init();
}
//定义初始化方法
public void init(){
//设置属性
setSize(400, 300);
setLayout(new BorderLayout());
//设置上方的控制按钮
add(BorderLayout.NORTH,p1);
p1.setLayout(new FlowLayout());
p1.add(b1);
p1.add(b2);
p1.add(b3);
add(BorderLayout.CENTER,p2);
p2.setLayout(cl);
p2.add("第一页",new Button("第一页的内容"));
p2.add("第二页",new Button("第二页的内容"));
p2.add("第三页",new Button("第三页的内容"));
//设置可见
setVisible(true);
//实现窗口关闭功能
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we){
setVisible(false);
dispose();
System.out.println("执行到此3");
System.exit(0);
}
});
}
public static void main(String[] args) {
//程序入口
new MyTestawt_1("网格型布局");
}
@Override
public void mouseClicked(MouseEvent e) {
//监听鼠标点击动作
if (e.getSource()==b1) {
System.out.println("执行到此1");
cl.first(p2);
System.out.println("执行到此2");
}else if (e.getSource()==b2) {
cl.first(p2);
cl.next(p2);
} else if (e.getSource()==b3) {
cl.last(p2);
}
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
}
展开
更多相关内容 -
java 事件监听 - 鼠标
2021-02-28 10:09:23java 事件监听 - 鼠标//事件监听//鼠标事件监听//鼠标事件监听有两个实现接口//1、MouseListener 普通的鼠标操作//2、MouseMotionListener 鼠标的拖拽、移动import java.awt.*;import javax.swing.*;import java.awt...java 事件监听 - 鼠标
//事件监听
//鼠标事件监听
//鼠标事件监听有两个实现接口
//1、MouseListener 普通的鼠标操作
//2、MouseMotionListener 鼠标的拖拽、移动
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Index extends JFrame{
//设置面板
Wdmb wdmb = new Wdmb();
public static void main(String[] args) throws Exception{
//实例化当前类
Index index = new Index();
}
//自动执行
public Index(){
this.add(wdmb);
//添加鼠标监听事件
this.addMouseListener(wdmb);
//添加鼠标拖拽事件
this.addMouseMotionListener(wdmb);
this.setSize(500,500);
this.setLocation(300,200);
this.setTitle("绘图");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
//面板方法
//MouseListener 鼠标监听
//MouseMotionListener 鼠标拖拽监听
class Wdmb extends JPanel implements MouseListener,MouseMotionListener{
//方法覆盖
//JPanel自带方法,下面格式是固定的
//paint 会在三种情况下自动被调用
//1、启动程序 2、窗口大小发生变化时 3、运行repaint函数时
public void paint(Graphics g){
//覆盖父类的方法
super.paint(g);
}
/**
* 鼠标事件
*/
//鼠标单击
public void mouseClicked(MouseEvent e){
System.out.println("鼠标点击的位置是:");
System.out.println("X坐标:"+e.getX());
System.out.println("X坐标:"+e.getY());
}
//鼠标按下
public void mousePressed(MouseEvent e){
//System.out.println("鼠标被按下");
}
//鼠标松开
public void mouseReleased(MouseEvent e){
//System.out.println("鼠标被松开");
}
//鼠标移动到界面中
public void mouseEntered(MouseEvent e){
//System.out.println("鼠标移动到界面中");
}
//鼠标从界面离开
public void mouseExited(MouseEvent e){
//System.out.println("鼠标从界面离开");
}
/**
* 鼠标拖拽事件
*
*/
//鼠标拖拽
public void mouseDragged(MouseEvent e){
System.out.println("鼠标点击的位置是:");
System.out.println("X坐标:"+e.getX());
System.out.println("X坐标:"+e.getY());
}
//鼠标移动
public void mouseMoved(MouseEvent e){
System.out.println("鼠标点击的位置是:");
System.out.println("X坐标:"+e.getX());
System.out.println("X坐标:"+e.getY());
}
}
JAVA事件监听机制的实现
今天学习了java的事件编程机制,略有体会,先在此记下心得. 第一,首先明确几个概念. 事件源:一个产生或者触发事件的对象.事件:承载事件源状态改变时的信息对象.事件监听器接口:实际上就是一个类,该类 ...
java 事件监听 - 键盘
java 事件监听 - 键盘 //事件监听 //键盘事件监听,写了一个小案例,按上下左右,改变圆形的位置,圆形可以移动 import java.awt.*; import javax.swing.*; ...
java 事件监听 - 控件
java 事件监听 //事件监听 //事件监听,写了一个小案例,点击按钮改变面板的颜色. import java.awt.*; import javax.swing.*; import java.aw ...
java事件监听机制
1.简单的事件监听 package demo2; /* * java事件监听机制 */ import java.awt.*; import javax.swing.*; import java.awt ...
Java事件监听的四种实现方式
1.事件对象: 一般继承自java.util.EventObject对象,由开发者自行定义. 2.事件源: 就是触发事件的源头,不同的事件源会触发不同的事件类型. 3.事件监听器: 事件监听器负责监听 ...
java事件监听机制2
今天早上的两点收获: 1.addActionListener(其中的setActionCommand函数就是要对对象进行唯一性的标记,便于消息传来后进行处理.理论上actionlistener可以全部 ...
Java事件监听机制与观察者设计模式
一. Java事件监听机制 1. 事件监听三要素: 事件源,事件对象,事件监听器 2. 三要素之间的关系:事件源注册事件监听器后,当事件源上发生某个动作时,事件源就会调用事件监听的一个方法,并将事件对 ...
JAVA事件监听机制与实现
事件监听机制的实现:参考图:事件模型_ActionEvent 为了节省资源,系统无法对某个事件进行实时的监听.故实现的机制是当发生某个事件后,处理代码将被自动运行,类似钩子一般.(回调函数) 事件有许 ...
java 事件监听机制组成
事件源(组件) 事件(Event) 监听器(Listener) 事件处理(引发事件后处理方式) 事件监听机制流程图 务必记牢: 确定事件源(容器或组件) 通过事件源对象的addXXXListener( ...
随机推荐
C#设计模式
自从上次记录完“重构之道”以后,查询设计模式挺麻烦的.就打算把原先写的设计模式系列合并一下. 设计原则 使用设计模式的根本原因就是适应需求变化,提高代码的复用率,使程序更具有扩展性和可维护性. SOL ...
File类使用小结
一.构造函数 File(String pathname):根据参数转换为抽象路径名创建File实例 File(String parent,String filename):根据parent和filen ...
Win10
安装 调优 关闭cortana 对于SSD: 关闭windows search , superfetch服务,减少磁盘读写 关闭动画(个性化里面) 开启项优化 休眠文件(powercfg -h off ...
Android 6.0权限全面详细分析和解决方案
原文: http://www.2cto.com/kf/201512/455888.html http://blog.csdn.net/yangqingqo/article/details/483711 ...
Unity3D外包团队——技术分享U3D全景漫游(三)
22.给每个物体都附上贴图,如果是纯色物体,也付给纯色贴图 23.打光后,选择要烘培的物体 设置输出路径 添加烘培输出的贴图类型 添加“LightingMap”类型 设置烘培贴图大小和目标贴图位置为“ ...
高级UNIX环境编程13 守护进程
linux下,keventd守护进程为内核中运行的执行的函数提供进程上下文 bdflush,kupdated将高速缓存中的数据冲洗到磁盘上
设计新Xlator扩展GlusterFS[转]
原文:http://www.linuxidc.com/Linux/2013-08/89105.htm 1. GlusterFS概述 GlusterFS是一个开源的分布式文件系统,具有强大的Scale- ...
JAVA - 工厂模式
1. 简单工厂违背OCP(Open Close Principle)原则 , 即对增加开放,对修改关闭.如果要符合OCP原则,要针对接口编程. //简单工厂模式,违反了OCP原则 public cla ...
swift 学习- 25 -- 协议 02
// 通过扩展添加协议一致性 // 即便无法修改源代码, 依然可以通过扩展 令已有类型遵循并符合协议, 扩展可以为已有类型添加属性, 方法, 下标 以及构造器, 因此可以符合协议中的相应要求 // 注 ...
-
Java鼠标事件监听器的创建和使用教程及代码
2021-02-12 22:43:26鼠标操作是图形操作系统最常用操作,用户使用鼠标单击,双击,右击,拖动等操作实现与软件的交互。...MouseListener监听器方法说明mouseClicked(MouseEvent e) 处理鼠标单击事件方法mouseEntered(MouseEvent ...鼠标操作是图形操作系统最常用操作,用户使用鼠标单击,双击,右击,拖动等操作实现与软件的交互。
鼠标事件监听器
鼠标事件监听器由MouseListener接口和MouseMotionListener接口定义,分别定义鼠标捕获不同的鼠标操作方法。
MouseListener监听器方法说明
mouseClicked(MouseEvent e) 处理鼠标单击事件方法
mouseEntered(MouseEvent e) 鼠标进入组件区域时执行方法
mouseExited(MouseEvent e) 鼠标离开组件区域执行方法
mousePressed(MouseEvent e) 按下鼠标按键时执行方法
mouseRelease(MouseEvent e) 释放鼠标按键时执行方法
MouseListener监听器的方法,基本满足大多数程序需求,MouseMotionListener接口定义两个有关鼠标移动和拖动事件的处理方法。
MouseMotionListener监听器方法说明
mouseMoved(MouseEvent e) 处理鼠标移动事件的方法
mouseDragged(MouseEvent e) 处理鼠标拖动事件的方法
鼠标事件处理
两个鼠标事件监听器中的方法都定义了MouseEvent类型的形参,MouseEvent类是鼠标事件类,是被监听器捕获的用户操作所生成的事件对象,该实例对象包含了许多鼠标事件发生时的参数信息。例如鼠标的坐标位置,鼠标的按键等。常用方法有:
getButton() 返回更改了状态的鼠标按键
getClickCount() 返回与此事件关联的鼠标单击次数
getLocationOnScreen() 返回鼠标相对于屏幕的绝对x,y坐标
getPoint() 返回事件相对于源组件的x,y坐标
translatePoint() 通过将事件坐标加上指定x,y偏移量,将事件坐标平移到新位置
以下代码,演示了两个接口的作用,通过读代码,就会理解到各自方法的作用:
[CODE=java]
import javax.swing.*;
import java.awt.event.*;
public class MyMouse extends JFrame {
public JLabel jl = new JLabel("鼠标暂无操作");
public MyMouse() {
setBounds(100, 100, 350, 80);
getContentPane().add("South", jl);
addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent arg0) {
jl.setText("鼠标在界面中单击了" + jl.getText() + arg0.getClickCount()
+ "次");
}
public void mouseEntered(MouseEvent arg0) {
jl.setText("鼠标进入了窗体界面");
}
public void mouseExited(MouseEvent arg0) {
jl.setText("鼠标离开了窗体界面");
}
public void mousePressed(MouseEvent arg0) {
jl.setText("鼠标在窗体界面中按下了键" + arg0.getButton());
}
public void mouseReleased(MouseEvent arg0) {
jl.setText("鼠标在窗体界面中释放了键" + arg0.getButton());
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
MyMouse test = new MyMouse();
test.setVisible(true);
}
}
[/CODE]
以下代码,演示了MouseMotionListener类,组件在界面中,可以拖动:
[CODE=java]
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.event.*;
public class MyMouse extends JFrame {
public JButton jb = new JButton("鼠标可拖动按钮");
public JTextField jt = new JTextField();
public MyMouse() {
jb.setBounds(100, 100, 330, 175);
jt.setColumns(20);
setBounds(100, 100, 350, 280);
getContentPane().setLayout(new FlowLayout());
getContentPane().add(jb);
getContentPane().add(jt);
addMouseMotionListener(new MouseMotionListener() {
/**
* 处理鼠标拖动事件
* */
public void mouseDragged(MouseEvent arg0) {
mouseMoved(arg0);
jb.setLocation(arg0.getPoint());
}
/**
* 处理鼠标移动事件
* */
public void mouseMoved(MouseEvent arg0) {
jt.setText(arg0.getPoint().toString());
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
MyMouse test = new MyMouse();
test.setVisible(true);
}
}
[/CODE]
-
JAVA 鼠标事件监听ACTIONLISTENER
2021-03-03 14:22:48当鼠标点击和放开时发生动作事件;方法摘要:actionPerformed(ActionEvent e)发生操作时调用。列:public class shijian extends Frame{public static void main(String[] args){Frame f = new Frame();f.setLayout...当鼠标点击和放开时发生动作事件;
方法摘要:
actionPerformed(ActionEvent e)
发生操作时调用。
列:
public class shijian extends Frame
{
public static void main(String[] args)
{
Frame f = new Frame();
f.setLayout(new FlowLayout(FlowLayout.LEFT,20,5));
Button b1 = new Button("单机");
Button b2 = new Button("双击");
//Button b3 = new Button("a3");
//创建监听器
myactionlistener m = new myactionlistener();
b1.addActionListener(m);//将m事件监听器注册个b1按钮
f.add(b1);
f.add(b2);
//f.add(b3);
f.pack();
f.setVisible(true);
}
}
class myactionlistener implements ActionListener//实现一个监听器类
{
@Override
public void actionPerformed(ActionEvent e)
{
System.out.println("单机一");
//System.exit(0); //用按钮关闭窗口
}
}
-
Java监听鼠标事件
2021-02-27 09:49:48import java.awt.Container;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;.../*** 监听鼠标事件* 可以看出,当双击鼠标时,第一次的点击会触发一次单击事件* @author HAN**/public ... -
鼠标监听事件 [Java]
2021-12-15 00:00:47鼠标监听事件 小目标: 使用鼠标监听事件要完成使用鼠标画画 如何添加鼠标监听器: addMouseListener(); 鼠标监听器可以加到窗口上,也可以加到按钮上,具体我们要完成哪个功能我们就加到不同的目标上 这里我们来... -
Java Swing中JList选择事件监听器ListSelectionListener用法示例
2020-08-28 20:47:33主要介绍了Java Swing中JList选择事件监听器ListSelectionListener用法,结合具体实例形式分析了中JList选择事件监听器ListSelectionListener的功能、使用方法及相关注意事项,需要的朋友可以参考下 -
鼠标及键盘监听实现
2018-05-09 10:44:17该项目代码用于实现鼠标动作及键盘事件的监听。可单独监听鼠标事件或键盘事件。 -
java图片绘制和鼠标事件监听
2013-09-25 11:21:10适合初学者的一个简单java图片绘制和鼠标事件监听小代码! -
鼠标事件的监听和使用
2021-04-17 07:05:54鼠标操作是图形操作系统最常用操作,用户使用鼠标单击,双击,右击,拖动等操作实现与软件的交互。... MouseListener监听器方法说明 mouseClicked(MouseEvent e) 处理鼠标单击事件方法mouseEntered(MouseEv... -
javascript监听鼠标滚轮事件浅析
2021-01-19 18:34:52这些都是通过js对鼠标滚轮的事件监听来实现的。今天这里介绍的是一点简单的js对于鼠标滚轮事件的监听。 不同浏览器不同的事件 首先,不同的浏览器有不同的滚轮事件。主要是有两种,onmousewheel(firefox不支持)和... -
JAVA中如何全局监听鼠标事件
2021-07-19 15:17:57某些情况下,需要直接监听鼠标事件。怎么办? long eventMask = AWTEvent.MOUSE_EVENT_MASK; Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() { public void eventDispatched... -
java 鼠标事件监听ActionListener
2021-02-26 15:16:38当鼠标点击和放开时发生动作事件;方法摘要:列:public class shijian extends Frame{public static void main(String[] args){Frame f = new Frame();f.setLayout(new FlowLayout(FlowLayout.LEFT,20,5));Button ... -
java swing中如何实现对于鼠标监听悬停事件
2021-03-03 14:20:33展开全部importjava.awt.Container;importjava.awt.Dimension;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;impo..... -
Java鼠标双击事件
2021-03-04 06:04:23import java.awt.BorderLayout;public class a extends JFrame {private JPanel contentPane;private boolean isOn=false;//判断鼠标是否按过private JButton button;/*** Launch the application.*/public static..... -
Java Swing界面编程(25)---事件处理:鼠标事件及监听处理
2021-02-27 18:55:33如果想对一个鼠标的操作进行监听,如果鼠标按下、松开等,则可以使用MouseListener接口。package com.beyole.util;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.... -
java鼠标事件监听
2017-12-03 11:07:50addMouseListenerpublic void addMouseListener(MouseListener l)添加指定的鼠标...用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用 MouseMot -
java之GUI--鼠标监听事件
2021-07-17 15:54:14使用鼠标监听事件做一个:通过点击鼠标,就在画布上出现一个点。(类似于在画板上 点 ”点“)。 代码如下: public class MouseListenerTest { public static void main(String[] args) { new MyFramee("画板图... -
Java鼠标监听
2021-06-25 11:13:38import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class IteratorDemo { public static void main(String[] args) { List<String> lst = new ArrayList<String&... -
Java中的事件监听机制
2021-03-06 16:42:45鼠标事件监听机制的三个方面:1.事件源对象:事件源对象就是能够产生动作的对象。在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象。Java中根据事件的动作来区分不同的事件源对象,动作发生在哪个... -
JAVA鼠标时间的监听
2022-04-20 17:24:44//给button按钮,绑定鼠标点击事件,重写五个方法 //绑定鼠标监听器 button.addMouseListener(new MouseListener() { @Override public void mouseClicked(MouseEvent e) {//鼠标点击 if (e.getButton() == ... -
详谈Java中的事件监听机制
2021-03-22 13:26:18鼠标事件监听机制的三个方面:1.事件源对象:事件源对象就是能够产生动作的对象。在java语言中所有的容器组件和元素组件都是事件监听中的事件源对象。java中根据事件的动作来区分不同的事件源对象,动作发生在哪个... -
Java监听键盘鼠标全局事件[定义].pdf
2021-10-11 03:38:21Java监听键盘鼠标全局事件[定义].pdf -
java事件监听
2021-12-26 15:41:47Java中java.swt.event包包含了不同事件的类和接口,每个事件类一般有对应于一个事件监听器接口 文章目录前言一、事件监听器监听器的注册事件处理的具体步骤动作事件ActionEvent二、适配器类使用内部类来进行监听... -
java中SWT鼠标单击事件监听器?
2021-03-08 20:44:46importjava.awt.Frame;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;publicclassCskextendsFr... -
Java全局监听鼠标点击
2021-06-12 22:05:42GlobalMouseListener.java package cxzgwing; import java.awt.*; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.*; import javax.swing.text.BadLocationException; ... -
java鼠标双击事件 java鼠标双击监听
2021-02-27 18:36:46爱学习的小伙伴们,可能都学习过java,但是你知道java鼠标双击事件是怎么实现的吗?不知道的话跟着小编一起来学习了解java鼠标双击事件吧。java鼠标双击事件实例介绍public class MyMouseListenerextends java.awt....