在全局事件之前响应单个鼠标事件

布莱恩

我正在使用JLabel数组,其中可以单击多个对象(为简单起见,下面仅显示一个对象)。单击每个按钮时,它应运行一小段代码,根据单击的对象来更改开关。之后,它应该运行通用的代码,该代码针对每个JLabel运行,但是根据开关的执行略有不同。

问题是下面的示例首先运行“ //第二运行此代码”位,然后运行“ //首先运行此代码”位。有什么办法可以扭转这种现象?

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class ListenToMice extends JFrame implements MouseListener 
{
    private JLabel[] difference = new JLabel[11];
    public ListenToMice( ) 
    {
        difference[1].addMouseListener(new MouseAdapter()
            {
                public void mouseClicked(MouseEvent e) {
                    //run this code first
                }

            });
    }

    public void mouseClicked(MouseEvent e) {
        //run this code second
    }
    public void mouseEntered(MouseEvent e) {

    }

    public void mouseExited(MouseEvent e) {

    }

    public void mousePressed(MouseEvent e) {

    }

    public void mouseReleased(MouseEvent e) {

    }
}
布莱恩

解决方案是将您想要的事件设置为“ mousePressed”,然后将其设置为“ mouseReleased”。这样,当用户按下按钮时将调用第一个事件,而当用户释放按钮时将调用第二个事件。不确定天气是否会与较长的代码一起使用,从而使计算机花了一些时间来处理,但是对于这段简短的代码,它可以正常工作。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class ListenToMice extends JFrame implements MouseListener 
{
    private JLabel[] difference = new JLabel[11];
    public ListenToMice( ) 
    {
        difference[1].addMouseListener(new MouseAdapter()
            {
                public void mousePressed(MouseEvent e) {
                    //this code will now run first (see how it is "mousePressed" above this text
                }

            });
    }

    public void mouseClicked(MouseEvent e) {

    }
    public void mouseEntered(MouseEvent e) {

    }

    public void mouseExited(MouseEvent e) {

    }

    public void mousePressed(MouseEvent e) {

    }

    public void mouseReleased(MouseEvent e) {
//put code you want second here
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Unity全局鼠标事件

来自分类Dev

如何检测全局鼠标按钮事件

来自分类Dev

graphicsview在项目之前收到鼠标事件

来自分类Dev

OpenCV Python鼠标事件无响应

来自分类Dev

本地错误事件之前的全局ajaxError事件

来自分类Dev

事件与鼠标事件

来自分类Dev

如何在GTK中获得全局鼠标事件?

来自分类Dev

如何抑制Windows中的全局鼠标单击事件?

来自分类Dev

如何在GTK中获得全局鼠标事件?

来自分类Dev

如何为多个鼠标悬停事件创建单个样式?

来自分类Dev

鼠标单击之前激活了事件(Python,Tkinter)

来自分类Dev

为什么html <object>元素不响应鼠标事件?

来自分类Dev

画布中绘制的对象可以响应鼠标事件吗?

来自分类Dev

Firefox在移动窗口后停止响应鼠标事件

来自分类Dev

在notifyicon winforms c#上的鼠标双击事件之前触发mouse click事件

来自分类Dev

JS / jQuery-在单个事件处理程序上使用全局事件处理程序

来自分类Dev

捕获全局鼠标滚动,并将自定义鼠标滚动事件发送到应用

来自分类Dev

取消订阅PubNub频道以响应(之前)卸载事件

来自分类Dev

渲染响应阶段之前的JSF事件监听器

来自分类Dev

鼠标事件在底层被忽略

来自分类Dev

鼠标右键事件

来自分类Dev

Java BounceBall鼠标事件

来自分类Dev

鼠标事件单击问题

来自分类Dev

鼠标事件:操作顺序

来自分类Dev

鼠标事件面临的问题

来自分类Dev

捕捉鼠标事件

来自分类Dev

QGraphicsView的PyQt鼠标事件

来自分类Dev

Qt中的鼠标事件

来自分类Dev

使窗口对鼠标事件透明