2012-01-19 8 views
1

Processingでアプリケーションを作成し始めたばかりで、BorderLayout.CENTERを使用してJpprameオブジェクトにPAppletオブジェクトを配置すると、予期しない動作が発生します。処理の予測不可能な動作

PAppletの幅は、JFrameの幅と高さより100小さい。 「実行」をクリックすると、プログラムが画面いっぱいに表示されてスムーズに実行されることがありますが、他の実行では、画面の左上からPAppletが開始し、画面の下部に100 、かなり遅れています。

私が正直であれば何が起こっているのか分かりません。

これはスムーズに実行結果である:

Wanted behvaiour

これは予測できないものです:

Unwanted behaviour

ここで私が使用しているコードです:

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(); 
} 
} 

私は、その後包み、私は信じるように導かだSwingとAWT(間にいくつかの安定性の問題があったawt.FrameでJFrameのを交換しようとした

ビューアクラス

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); 
} 

}このパプチュールのケースでは、PAppletは組み立てられています)。

しかし、驚くほど十分ですが、問題を解決してくれるフレームはありません。しかし、私はいつもJFrameを使っていましたが、コンテナを使ったGUI作業はいつもSwingでやっていましたので、誰も知識を共有して何が起こっているのかを説明し、修正が可能かどうか疑問に思っていました。この問題。

ありがとうございました。

答えて

0

ProcessingスケッチとSwingを組み合わせることはお勧めしません。予測不可能な動作が何度も報告されています。