1
我剛剛開始在Processing中創建應用程序,並且在使用BorderLayout.CENTER將PApplet對象放入JFrame時出現不可預知的行爲。處理中的不可預知的行爲
PApplet的寬度比JFrame的寬度和高度小100。 在某些情況下,當我點擊'運行'時,程序填滿屏幕並運行得非常順利,但在其他運行中,PApplet從左上角開始,在屏幕底部留下100的間隙,左側,而且相當滯後。
如果我說實話,我不知道發生了什麼。
這是一個平穩運行的結果:
這是不可預測的一個:
這裏是我使用的代碼:
PApplet子類
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);
}
}
我又試圖取代的JFrame與awt.Frame櫃面有Swing和AWT(這我帶領相信之間的一些穩定性問題在這種情況下,PApplet是建立在)。
雖然令人驚訝的是,但從來沒有任何滯後與幀,這有解決問題。但是,我一直使用JFrame,任何使用容器等的GUI工作,我一直使用Swing,所以我想知道是否有人可以分享他們的知識並解釋發生了什麼,以及是否可以修復?這個問題。
謝謝。