Imaginary Code

from kougaku-navi.net

Processingで実行中にウィンドウサイズを変更する

実行中にウィンドウのサイズを変更するには、frame.setSize()とsize()の両方を使います。setSize()にはウィンドウの上下左右の枠も含めたサイズを指定する必要があります。以下にプログラム例を示します。

void setup() {
  size(400, 300);
}

void draw() {
  background(255);
}

void keyPressed() {
  if (key=='1') {
    changeWindowSize(400, 300);
  }
  if (key=='2') {
    changeWindowSize(800, 600);
  }
}

void changeWindowSize(int w, int h) {
  frame.setSize( w + frame.getInsets().left + frame.getInsets().right, h + frame.getInsets().top + frame.getInsets().bottom );
  size(w, h);
}