【发布时间】:2012-12-03 09:56:01
【问题描述】:
我正在处理中写一个草图,我很好奇如何获得草图所在的操作系统窗口的位置。如果我使用getPosition()(java.awt 的一部分)我只能得到位置窗口内的视口。
【问题讨论】:
标签: processing
我正在处理中写一个草图,我很好奇如何获得草图所在的操作系统窗口的位置。如果我使用getPosition()(java.awt 的一部分)我只能得到位置窗口内的视口。
【问题讨论】:
标签: processing
你可以使用继承自java.awt.Component的getLocationOnScreen(),但是你需要先确定小程序isShowing():
void draw(){
if(frame.isShowing()) println(frame.getLocationOnScreen());
}
或稍微图形化:
void draw(){
if(frame.isShowing()) {
java.awt.Point pt = frame.getLocationOnScreen();
background(255);
rectMode(CENTER);
rect(map(pt.x,0,displayWidth,0,width),//use screenWidth instead of displayWidth in Processing 1.5.1 or older
map(pt.y,0,displayHeight,0,height),//use screenHeight instead of displayHeight in Processing 1.5.1 or older
10,10);
}
}
在哪里
Frame frame = ( (PSurfaceAWT.SmoothCanvas) ((PSurfaceAWT)surface).getNative()).getFrame();
(对于其他渲染器,例如 P2D 或 FX2D,请查看 this answer)
【讨论】:
isShowing() 的方法