gpt4 book ai didi

mouseevent - 检测鼠标离开窗口并进行处理

转载 作者:行者123 更新时间:2023-12-02 21:45:46 27 4
gpt4 key购买 nike

我正在处理一个正在编写的程序,我需要能够检测鼠标何时离开窗口/ Canvas 。但是,据我所知,处理没有任何类似于 mouseOut 事件的内容。有什么方法可以使用回调或事件或类似性质的东西来完成此任务吗?

最佳答案

利用窗口位置及其边框的知识,您还可以计算指针是否在框架内。然后你就可以调用你的函数了。

import java.awt.Point;
import java.awt.MouseInfo;

java.awt.Insets insets;
Point mouse, win;

void setup() {
size(400, 400);
frame.pack();
smooth();
}

void draw() {
setFrame();
if(insideFrame()) {
background(95);
}
else {
background(0);
}
}

//set position of frame
void setFrame()
{
mouse = MouseInfo.getPointerInfo().getLocation();
win = frame.getLocation();

if(!frame.isUndecorated()){
//add borders of window
insets = frame.getInsets();
win.x += insets.left;
win.y += insets.top;
}
}

boolean insideFrame() {
boolean in = false;
if(mouse.x-win.x >= 0 && width >= mouse.x-win.x)
if(mouse.y-win.y >= 0 && height >= mouse.y-win.y)
in = true;

return in;
}

关于mouseevent - 检测鼠标离开窗口并进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19532377/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com