1
我得到一個Java應用程序下面的異常兼容:GraphicsConfiguration不是與Canvas3D
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException:
Canvas3D: GraphicsConfiguration is not compatible with Canvas3D
at javax.media.j3d.Canvas3D.checkForValidGraphicsConfig(Canvas3D.java:965)
at javax.media.j3d.Canvas3D.<init>(Canvas3D.java:1032)
...etc...
Canvas3D被實例化這樣的:
GraphicsConfiguration graphicsConfiguration = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3D = new Canvas3D(graphicsConfiguration);
此代碼是一臺機器上正常工作(惠普dc7900臺式機),但不是一些新的(惠普630筆記本電腦)。所有運行的XP。
API docs表示此異常意味着「指定的GraphicsConfiguration不支持3D渲染」。那是什麼意思? '首選配置'大概是從操作系統中獲得的,因此反映了實際可能的情況......但我有點失落。
一個bug report表明,這種代碼作爲替代:
GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment().
getDefaultScreenDevice().getBestConfiguration(template);
Canvas3D c3d = new Canvas3D(gc);
但它不會改變任何東西。
Similarproblems似乎已被修改的圖形適配器設置或選擇不同的渲染器,例如:減少位深度爲16,或-Dj3d.rend=d3d
運行Java,但這樣做不會改變任何東西解決。