2
我有一個程序,我正在處理中寫入,我需要能夠檢測何時鼠標離開窗口/畫布。但是,據我所知,處理沒有任何類似於mouseOut事件。有沒有什麼辦法可以使用回調或事件或某種性質來完成此操作?檢測鼠標離開窗口與處理
我有一個程序,我正在處理中寫入,我需要能夠檢測何時鼠標離開窗口/畫布。但是,據我所知,處理沒有任何類似於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;
}
看看Java的MouseAdapter
類。示例代碼:
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
void setup(){
frame.addMouseListener(new MouseAdapter(){
public void mouseEntered(MouseEvent e){
print("notify");
}
});
}
void draw(){}
+1。我比我更喜歡這個,我想做點什麼,但沒有想到mouseX和mouseY會被更新,也沒有考慮使用底層的java。 – kevinsa5