我试图在Swing JPanel中插入Canvas3D对象,但是代码似乎无法正常工作(即什么也没发生):

        Canvas3D canvas =新的Canvas3D(SimpleUniverse.getPreferredConfiguration());
        SimpleUniverse Universe =新的SimpleUniverse(canvas);
        BranchGroup根=新的BranchGroup();
        root.addChild(new ColorCube());
        Universe.addBranchGraph(root);
        Universe.getViewingPlatform()。setNominalViewingTransform();
        canvasPanel.add(canvas);


我想念什么? JPanel是使用NetBean的可视编辑器创建的。

最佳答案

可能您必须在面板上设置一个布局管理器,该管理器会自动将子组件扩展到整个区域。 JPanel默认具有FlowLayout,它不会扩展子组件。您可以通过以下方式尝试使用BorderLayout:

canvasPanel.setLayout(new BorderLayout());

关于java - Canvas3D没有出现在Swing窗口中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/210998/

10-10 03:46