【问题标题】:Processing or Java: get Window Position?处理或Java:获取窗口位置?
【发布时间】:2012-12-03 09:56:01
【问题描述】:

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

【问题讨论】:

    标签: processing


    【解决方案1】:

    你可以使用继承自java.awt.ComponentgetLocationOnScreen(),但是你需要先确定小程序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();
    

    (对于其他渲染器,例如 P2DFX2D,请查看 this answer

    【讨论】:

    • PApplet 类中没有名为isShowing() 的方法
    • @Yeppii 好点!谢谢 !这些方法属于框架。我已经更新了上面的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    相关资源
    最近更新 更多