在Processing草图中,我可以控制显示窗口的位置吗?

时间:2014-12-29 17:27:12

标签: user-interface window processing

我希望这是这个问题的正确网站,如果不是,请道歉。

在处理草图中,我可以控制显示窗口的初始位置吗?必须首先调用的size()函数只允许指定宽度和高度。

这已经发生了一个可能的问题,现在我开始使用G4P(GUI for Processing)库,其中GWindow()的位置有位置参数,但它们似乎不是相对于主显示窗口,但显示整个显示器屏幕,我希望额外的窗口出现在主窗口中。当我想将程序从我的桌面(监视器1280×1024像素)转移到我的笔记本电脑(1280乘800像素)时,这将特别重要。

2 个答案:

答案 0 :(得分:6)

假设您正在谈论Java模式,那么您可以访问一个名为frame的变量。

但是,在setup()函数完成之后,frame变量似乎不可用,因此您必须在此之后访问它。这对我有用:

boolean frameMoved = false;

void setup() {
  size(500, 500);
}

void draw() {

  if(!frameMoved){
    frame.setLocation(100, 100);
    frameMoved = true;
  }

  background(0);
}

这可能是一种更聪明的方法,但它对我有用。

答案 1 :(得分:1)

我对处理3.5.1中的frame.setLocation解决方案有负面作用 在使用surface.setsize从变量调整草图大小之后。 下面的代码无需燃烧器布尔值即可工作。

void setup() {
  int myVariableW=600;
  surface.setSize(myVariableW,400);
}

void draw() {
  background(0);
  if(1==frameCount) surface.setLocation(150,100);
  ellipse(300,300,200,100);
}