gpt4 book ai didi

java - 在处理中创建第二个小程序(窗口)

转载 作者:行者123 更新时间:2023-11-30 09:22:05 25 4
gpt4 key购买 nike

大家好,我正在尝试编写一个代码,通过传递一个敏感区域,我可以在处理中创建第二个小程序。

除了一件事,代码工作正常。

当它经过敏感区域时,它会在同一帧中循环创建。

这是代码。

import javax.swing.JFrame;

PFrame f;
secondApplet s;

void setup() {
size(600, 340);

}

void draw() {
background(255, 0, 0);
fill(255);
}

void mousePressed(){

PFrame f = new PFrame();
}


public class secondApplet extends PApplet {

public void setup() {
size(600, 900);
noLoop();
}
public void draw() {
fill(0);
ellipse(400, 60, 20, 20);
}
}

public class PFrame extends JFrame {
public PFrame() {

setBounds(0, 0, 600, 340);
s = new secondApplet();
add(s);
s.init();
println("birh");
show();
}
}

此代码通过单击框架的任何区域创建第二个小程序,但如果您继续单击它将创建相同小程序的更多框架。

我想要的是,一旦我点击它,它只会创建 1 帧,不会更多。

你能帮帮我吗?谢谢;)

最佳答案

您发布的代码无法编译,因为您没有声明顶级封装类,所以我很好奇您为什么说它有效。

关于您的问题,您在顶部声明了字段 PFrame f,但在 mousePressed() 中声明了另一个字段。此变量 f 与第一个变量不同。要解决您的问题,您可能希望您的代码看起来像这样:

void mousePressed() {
if (f == null) {
f = new PFrame();
}
}

这将允许您创建新框架,但只能创建一次。不过,我建议您选择更具描述性的变量名称。此外,它应该是 SecondApplet,而不是 secondApplet

关于java - 在处理中创建第二个小程序(窗口),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16630228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com