2

canvas3d オブジェクトで作成された SimpleUniverse インスタンスに境界を設定するにはどうすればよいですか?

以下のコードを試してみましたが、境界を設定しようとすると「Capability not set exception」が発生し、境界を書き込む機能を設定しようとすると「Restricted access exception」が発生します。

これが私のコードです:

GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3d = new Canvas3D(config);
SimpleUniverse universe = new SimpleUniverse(canvas3d);
ViewingPlatform viewPlatform = universe.getViewingPlatform();

// Below line throws RestricedAccessException
viewPlatform.setCapability(ViewingPlatform.ALLOW_BOUNDS_WRITE); 
// I want to set the bounds, thus the need for the capability above
viewPlatform.setBounds(bounds);

助けてください!

4

1 に答える 1

3

私はそれを考え出した。次のようにユニバースを設定するのではなく、

GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3d = new Canvas3D(config);

SimpleUniverse universe = new SimpleUniverse(canvas3d);

を単独でセットアップし、ViewingPlatformそれを使用してユニバースを作成しました。

GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3d = new Canvas3D(config);

ViewingPlatform viewingPlatform = new ViewingPlatform();
viewingPlatform.setCapability(ViewingPlatform.ALLOW_BOUNDS_WRITE);
viewingPlatform.setBounds(bounds);
Viewer viewer = new Viewer(canvas3d);    

SimpleUniverse universe = new SimpleUniverse(viewingPlatform, viewer);
于 2009-08-19T15:22:15.427 に答える