Processing 处理还是Java:获取窗口位置?

Processing 处理还是Java:获取窗口位置?,processing,Processing,我正在写一个正在处理的草图,我很好奇如何才能得到草图所在的操作系统窗口的位置。如果我使用getPosition()(java.awt的一部分),我只能获取窗口中视口的位置。您可以使用继承自java.awt.Component的getLocationOnScreen(),但您需要确保小程序正在显示() void draw(){ if(frame.isShowing()) println(frame.getLocationOnScreen()); } 或者稍微图形化一些: void draw(

我正在写一个正在处理的草图,我很好奇如何才能得到草图所在的操作系统窗口的位置。如果我使用
getPosition()
(java.awt的一部分),我只能获取窗口中视口的位置。

您可以使用继承自
java.awt.Component
getLocationOnScreen()
,但您需要确保小程序
正在显示()

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);
  }
}
在哪里


(对于其他渲染器,如
P2D
FX2D
签出)

PApplet中没有名为
isShowing()的方法class@Yeppii说得好!非常感谢。这些方法属于框架。我已经更新了上面的答案
Frame frame = ( (PSurfaceAWT.SmoothCanvas) ((PSurfaceAWT)surface).getNative()).getFrame();