Processing에서 하나의 스케치 만 사용하여 두 개의 창을 만들고 싶습니다.
내가하려는 것은 한 창에서 버튼을 클릭하면 일부 이미지가 다른 창에 나타나는 것입니다.
Google을 검색하고 몇 가지 예를 찾았습니다. 실제로이 '스택 오버플로 웹'에서 동일한 질문을 발견했습니다. 여기에 링크가 있습니다.
Processing http://forum.processing.org/one/topic/multiple-windows-2-4-2011.html 에서 단일 스케치의 창을 두 개 이상 만듭니다.
다음은 두 번째 링크의 코드입니다.
import java.awt.Frame;
PFrame f;
secondApplet s;
//f = new PFrame();
void setup() {
size(320, 240);
f = new PFrame();
}
void draw() {
background(255,0,0);
fill(255);
rect(10,10,frameCount%0,10);
s.background(0, 0, 255);
s.fill(100);
s.rect(10,20,frameCount%0,10);
s.redraw();
}
public class PFrame extends Frame{
public PFrame() {
setBounds(100,100,400,300);
s = new secondApplet();
add(s);
s.init();
show();
}
}
public class secondApplet extends PApplet {
public void setup() {
size(400, 300);
noLoop();
}
public void draw() {
}
}
하지만이 코드를 실행하면 add (s) ; 에서 다음과 같은 오류 메시지가 나타납니다 .
컨테이너 유형의 add (Component) 메소드는 인수 (multi_window_test.secondApplet)에 적용 할 수 없습니다.
첫 번째 링크의 첫 번째 주석 코드는 비슷하지만이 코드를 실행하면 동일한 오류 메시지가 표시됩니다.
내가 찾은 다른 예제 코드는 모두 비슷합니다. 그들은 모두 PApplet을 확장하는 PFrame 클래스와 secondApplet을 생성합니다. 그들은이 코드가 잘 작동한다고 말했지만이 코드를 실행할 수 없습니다.
오류 메시지의 원인을 찾을 수 없습니다. 다른 사람들은 저를 제외하고이 예제 코드를 실행할 때 아무런 문제가없는 것 같습니다. 누군가가 해결책을 알고 있다면 저를 도와주세요.
또한 하나의 스케치에서 다중 창을 만드는 다른 간단한 방법이 있으면 알려주십시오.
오류 메시지에 대한 이유는 별다른 설명이다 다음 add()
함수는를 기대 Component
하고, PApplet
하지 않은 것입니다 Component
. 이는 Processing 3에서 PApplet
더 이상 확장되지 않으므로 Applet
이를 사용하는 이전 코드 Component
가 더 이상 작동하지 않기 때문입니다.
대신 이 질문에 대한 나의 대답을 고려하십시오 . 기본적으로 PApplet
두 번째 창에 대해 확장되는 클래스를 만든 다음이 두 번째 창을 매개 변수로 PApplet.runSketch()
사용하여 호출 PApplet
하면됩니다.
void setup() {
size(100, 100);
String[] args = {"TwoFrameTest"};
SecondApplet sa = new SecondApplet();
PApplet.runSketch(args, sa);
}
void draw() {
background(0);
ellipse(50, 50, 10, 10);
}
public class SecondApplet extends PApplet {
public void settings() {
size(200, 100);
}
public void draw() {
background(255);
fill(0);
ellipse(100, 50, 10, 10);
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다