请教swing的事件响应问题 。

问题描述

测试鼠标的事件响应,但是没反应。下面是代码import javax.swing.*;import java.awt.event.*;import java.awt.BorderLayout;public class TestMouseMotion implements MouseListener {/** * 测试底层鼠标事件 */int flag;//响应事件的标识;JFrame mf = new JFrame("鼠标事件测试");JLabel g_m_label = new JLabel("鼠标测试!", SwingConstants.RIGHT);public TestMouseMotion(){flag = 7;mf.setBounds(100, 100, 300, 200);//BorderLayout mf_layout = new BorderLayout();//mf.setLayout(mf_layout);mf.getContentPane().add(g_m_label, BorderLayout.SOUTH);if (flag == 0){mf.add(new JLabel("鼠标放在了面板上!", SwingConstants.CENTER));}else if(flag == 1){mf.add(new JLabel("鼠标点击了面板!", SwingConstants.CENTER));}else if (flag == 2){mf.add(new JLabel("鼠标离开了面板!", SwingConstants.CENTER));}mf.setResizable(false);mf.setVisible(true);}public static void main(String[] args) {new TestMouseMotion();}public void mousePressed(MouseEvent me) {}public void mouseReleased(MouseEvent me) {}public void mouseClicked(MouseEvent me) {flag = 0;}public void mouseEntered(MouseEvent me) {flag = 1;}public void mouseExited(MouseEvent me) {flag = 2;}}由于是自学,基础不扎实,swing的事件响应和框架面板一团浆糊。希望有人帮忙,谢谢。 问题补充:jkxydp 写道

解决方案

你没有绑定事件,调用要监听的组件上的addMouseListener(this),参数是this的原因是 你的TestMouseMotion 本身实现了MouseListener接口。你可以在构造函数里面加上一句:addMouseListener(this);然后在public void mouseClicked(MouseEvent me) { System.out.println("窗口被点击了"); }

时间: 2024-11-03 21:34:50

请教swing的事件响应问题 。的相关文章

《Java数字图像处理:编程技巧与应用实践》——3.4 基本JButton事件响应

3.4 基本JButton事件响应 在学习JButton事件响应的知识之前,首先来看一下Swing中如何实现对用户事件的监听与处理,认识一下Swing中事件响应最重要的线程-事件分派线程. 在Swing中有一个特殊的线程被称为Swing事件分配线程,如果对UI组件的操作不在Swing事件分派线程中,Swing将抛出异常.检测当前线程是否为事件分派线程可以通过Swing本身提供的一个简单方法SwingUtilities.isEventDispatchThread()来完成.对Swing UI组件的

java常见事件响应方法实例汇总_java

本文实例汇总了java中常见的事件响应方法,包括容器类监听.监听器类.AbstractAction.反射等.以方便大家参考.具体方法如下: 首先,在Java图形用户界面中,处理事件时所必须的步骤是: 1.创建接受响应的组件(控件) 2.实现相关事件监听接口 3.注册事件源的动作监听器 4.事件触发时的事件处理 相应的可以通过以下的集中方式来作出事件响应. 一.容器类监听   效果:单击窗体中的三个按钮,实现相应的相应时间.    import java.awt.*; import java.aw

Java进阶09 事件响应

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢!   在GUI中,我们看到了如何用图形树来组织一个图形界面.然而,这样的图形界面是静态的.我们无法互动的对该界面进行操作.GUI的图形元素需要增加事件响应(event handling),才能得到一个动态的图形化界面. 元素, 事件, 监听器 我们在GUI一文中提到了许多图形元素.有一些事件(Event)可能发生在这些图形元素上,比如: 点击按钮 拖动滚动条 选择菜单 Java中的

LigerUi oncheckrow事件响应规则

问题描述 LigerUi oncheckrow事件响应规则 function loadGrid(){ manager=$("#maingrid").ligerGrid({ columns: [ { display: '主键信息', name: 'ID',align: 'center', width: 130 ,hide : true}, { display: '产品分类', name: 'PRODUCTCLASS', align: 'center', width: 100,hide :

用代码创建DataGrid的多链接及checkbox事件响应

datagrid|创建|链接|响应 本例用代码实现了创建DataGrid并响应了CheckBox事件,并实现了超链接列的多变量传送. 创建一个前台页面 CreateDataGrid.aspx: 在Form中添加一个PlcaeHolder,ID为"ph",Runat="Server" 后台页面 CreateDatagrid.aspx.cs     public class CreateDataGrid : System.Web.UI.Page    {       

Henry手记 - Datagrid键盘事件响应(一)

datagrid|响应 1. Datagrid上的键盘响应 当Datagrid与数据源绑定后,会呈现出如图1所示的形式.当Datagrid被聚焦后,焦点会首先落在第一行第一列的单元格上(注意:不是单元格内),如图1-(3)所示.在该单元格上单击一下鼠标,会出现如图1-(4)所示的情况,焦点落入了单元格中.图1 Datagrid聚焦图 我们在本节中讨论的是图1-(1)及1-(2)所示的情况,即焦点是落在Datagrid的框格上.一般的键盘事件响应是用KeyPress.KeyDown或KeyUp事件

Henry手记 - Datagrid键盘事件响应(二)

datagrid|响应 对于Datagrid的键盘事件响应,我们一定要分辨清楚是Datagrid自身的,还是cell单元格的键盘事件响应,处理方法是有很大区别的.大家可以参考第一篇的方法,对cell中的键盘事件进行处理. 但有个问题上一节没有交待,就是如何对Enter键.方向键.Tab键.Pgup/PgDn这些虚键进行拦截与处理?一般网友遇到这个问题,十有八九是出于这个目的:就是希望按Enter键时使光标在一行中向右一个格一个格跳(从"name"到"123"),而不

Java进阶学习(九) 事件响应

在GUI中,我们看到了如何用图形树来组织一个图形界面.然而,这样的图形界面是静态的.我们无法互动的对该界面进行操作.GUI的图形元素需要增加事件响应(event handling),才能得到一个动态的图形化界面. 元素, 事件, 监听器 我们在GUI一文中提到了许多图形元素.有一些事件(Event)可能发生在这些图形元素上,比如: 点击按钮 拖动滚动条 选择菜单 Java中的事件使用对象表示,比如ActionEvent.每个事件有作用的图形对象,比如按钮,滚动条,菜单. 所谓互动的GUI,是指当

BlackHat2017热点之数据取证与事件响应

美国黑帽大会(Black Hat USA)创办于1997年,被公认为世界信息安全行业的最高盛会,也是最具技术性的信息安全会议.大会每年吸引全球来自100多个国家的超过1万5千名专业观众参与.250多家展商进行产品展示和商务交流,同期更有180多位知名演讲嘉宾带来技术干货以及主办方精心策划的几十场专业培训.黑帽安全技术大会始终保持中立和客观的态度,通过不同的现场活动,着眼于最快最好地提出问题的解决方案和操作技巧,始终引领安全思想和技术走向,成为信息及网络安全.计算机/电信.金融服务.民用及军用防御