Java 处理过程中的不可预测行为
我刚刚开始在Processing中创建一个应用程序,当我使用BorderLayout.CENTER将PApplet对象放置到JFrame中时,会出现不可预测的行为 PApplet的宽度比JFrame的宽度和高度小100。 在某些情况下,当我单击“运行”时,程序会填满屏幕并运行得非常平稳,但在其他运行中,PApplet从左上角开始,在屏幕底部和左侧的100处留下一个间隙,并且相当滞后 老实说,我不知道发生了什么事 这是顺利运行的结果: 这是不可预测的一个: 以下是我正在使用的代码: 丘疹亚类 查看器类 } 然后我试着用awt.Frame替换JFrame,以防Swing和awt之间出现一些稳定性问题(我相信PApplet就是基于此构建的) 但令人惊讶的是,框架从来没有任何滞后,这在某种程度上解决了问题。但是,我一直在使用JFrame,任何GUI处理容器的工作,等等,我一直在使用Swing,所以我想知道是否有人可以分享他们的知识并解释发生了什么,以及是否有可能修复?这个问题Java 处理过程中的不可预测行为,java,applet,jframe,processing,Java,Applet,Jframe,Processing,我刚刚开始在Processing中创建一个应用程序,当我使用BorderLayout.CENTER将PApplet对象放置到JFrame中时,会出现不可预测的行为 PApplet的宽度比JFrame的宽度和高度小100。 在某些情况下,当我单击“运行”时,程序会填满屏幕并运行得非常平稳,但在其他运行中,PApplet从左上角开始,在屏幕底部和左侧的100处留下一个间隙,并且相当滞后 老实说,我不知道发生了什么事 这是顺利运行的结果: 这是不可预测的一个: 以下是我正在使用的代码: 丘疹亚类
谢谢。不建议将加工草图与Swing结合使用。不可预测的行为已经被报道了很多次
public class JCanvas extends PApplet {
/**
* PApplet method - performs all setup actions
*/
public void setup(){
size(1400,900,P3D);
background(80);
}
/**
* PApplet method - All drawing occurs here
*/
public void draw(){
background(80);
pushMatrix();
translate(mouseX,mouseY, -199);
fill(220,0,0);
box(120,500,90);
popMatrix();
}
}
public final class EuroViewer {
private final static int WIDTH = 1500;
private final static int HEIGHT = 1000;
private final static boolean RESIZABLE = false;
public static void main(String[] arguments){
final JFrame frame = new JFrame("Eurographics PApplet");
JCanvas sketchCanvas = new JCanvas();
frame.add( sketchCanvas );
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(WIDTH, HEIGHT);
frame.setResizable(RESIZABLE);
frame.setLocationRelativeTo(null);
sketchCanvas.init();
frame.setVisible(true);
}