簡體   English   中英

Canvas3D沒有出現在Swing窗口中

[英]Canvas3D not appearing in Swing window

我試圖在Swing JPanel中插入Canvas3D對象,但是代碼似乎無法正常工作(即什么也沒發生):

Canvas3D canvas = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
        SimpleUniverse universe = new SimpleUniverse(canvas);
        BranchGroup root = new BranchGroup();
        root.addChild(new ColorCube());
        universe.addBranchGraph(root);
        universe.getViewingPlatform().setNominalViewingTransform();
        canvasPanel.add(canvas);

我想念什么? JPanel是使用NetBean的可視編輯器創建的。

可能您必須在面板上設置一個布局管理器,該管理器會自動將子組件擴展到整個區域。 JPanel默認具有FlowLayout,它不會擴展子組件。 您可以通過以下方式嘗試使用BorderLayout:

canvasPanel.setLayout(new BorderLayout());

Canvas3D需要傳遞一個尺寸; 從SimpleUniverse設置首選配置是不夠的。 就我而言,這意味着這段代碼:

// 3D canvas initialization
        Canvas3D canvas = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
        SimpleUniverse universe = new SimpleUniverse(canvas);
        BranchGroup root = new BranchGroup();
        root.addChild(new ColorCube());
        universe.addBranchGraph(root);
        universe.getViewingPlatform().setNominalViewingTransform();
        canvas.setSize(100, 100);
        canvasPanel.add(canvas);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM