2016-10-03 5 views
0

私は最近、Javaの3dグラフィックスの領域への私の探求を始めました.3次元APIを使って何時間も検索した後、私は私にとって正しいAPI、Java 3dと判断しました。私は、コードをコピーし、それを行くを与えるだろう考え出し最初のチュートリアルを読んだ後、Javaの3Dディスプレイウィンドウ "点滅"

import com.sun.j3d.utils.universe.SimpleUniverse; 
import com.sun.j3d.utils.geometry.ColorCube; 
import javax.media.j3d.BranchGroup; 

public class Hello3d 
{ 
    public Hello3d() 
    { 
     SimpleUniverse universe = new SimpleUniverse(); 
     BranchGroup group = new BranchGroup(); 
     group.addChild(new ColorCube(0.3)); 
     universe.getViewingPlatform().setNominalViewingTransform(); 
     universe.addBranchGraph(group); 
    } 

    public static void main(String[] args) { 
     new Hello3d(); 
    } 
} 

プログラムは、それがちょうど出力にそれを赤の外観を与えるカメラが直面している赤い立方体を想定している、非常に簡単です平方。

私は、次のファイル構造にこれを置く:

java3d/ 
├── ext/ 
│ ├── jd3core.jar 
│ ├── jd3utils.jar 
│ └── vecmath.jar 
│ 
└── Hello3d.java 

その後、私はそう

javac -cp "ext/*"; Hello3d.java 

のようなコマンドラインでコンパイルされ、非常に同じよう

java -cp "ext/*"; Hello3d 

このことを実行しました私が問題にぶつかるところです。表示画面は時々期待される出力であり、場合によっては完全に空白である。 screen caps of the window in both states

ウィンドウのサイズを変更すると、表示画面が正しい出力と空白の画面の間で激しく点滅します。半分の時間、私のディスプレイウィンドウがうまく機能しないという事実を修正する方法はありますか?

役立つかもしれないその他の情報:

私は、私は、Java 7を使用していたJava 3D 1.5.1(Atempedは、同じ問題を1.5.2と実験1.6.0を使用する)
を使用したWindows 10
を実行しています

私はThis questionが私の問題と関係しているかもしれないと思っていますが、私はそれを修正するために何ができるのか本当に分かりません。

+0

Java3D 1.5.1は、2008年ごろからOracleによって管理されなくなりました。Java3D 1.6.0に切り替えてください。その間に修正されたいくつかのバグに遭遇し、時代遅れのライブラリで時間を無駄にすることはありません。 – gouessej

+0

@gouessejああ、私はJava3D 1.6.0を見ましたが、Webサイトはまだリリース前の状態だと言いました。私は古い、より安定したビルドを使用した方が良いでしょうが、そうではありませんでしたか? –

+0

実際、Java3D 1.5.2を忘れました。古いビルドは、必ずしも安定しているとは限りません。私はあなたの立場を理解していますが、Java3Dではそうではありませんでした。 Harvey、その他の貢献者と私は数多くのバグを修正しました。私が書いたユーザーガイドでは、Java3D 1.6.0を使用することが推奨されています。 Java3D 1.7.0は2017年にリリースされる予定です。 – gouessej

答えて

1

ああ、さらなる研究の後、私はあなたがする必要があるすべては、メインの最初の行としてSystem.setProperty("sun.awt.noerasebackground", "true");入れて答えhere

を発見した、これはこの問題と他の誰を助け願っています。