2011-03-07 24 views
0

大家好我是新來的新和opengl和3d世界我成功地加載並顯示一個obj文件,但是當我重新加載一個新的按jbutton新的是請根據舊的請畫下你能幫助我刷新麥克風。刷新畫布繪製一個新的對象

+0

您是否使用了動畫?向我們展示你到目前爲止所擁有的。 – SamG

回答

1

你不會說你的jbutton做什麼,所以即時猜測你在加載你的新對象時重新初始化你的drawable ..在我的經驗中,這隻會增加一個新的drawable到你的畫布..我寧願只是改變什麼beeing繪製,但如果沒有繼承人如何關閉當前繪製/帆布:

 try { 
      canvas.getContext().makeCurrent(); 
      canvas.getContext().release(); 
      canvas.getContext().destroy(); 
      drawable.getContext().makeCurrent(); 
      drawable.getContext().release(); 
      drawable.getContext().destroy(); 

     } catch (GLException releaseFailure) { 
      releaseFailure.printStackTrace(); 
     } 

,然後重新初始化它們,當你添加新的對象..

+0

我正在使用jogl和obj wavefront文件處理面部動畫應用程序,我加載並顯示了一個3D面部,並感謝您的回答,我現在解決了問題,現在它工作得非常好,當我在JButton中加載一個簡單的clic面部時,當我使用JFilechooser來選擇一個面,它不會出現,除非我手動調整框架這裏是我使用的代碼 – ima

+0

open.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent eve){JFileChooser chooser = new JFileChooser() ();選擇一個模型「);結果= chooser.showOpenDialog(空);如果(結果== JFileChooser.APPROVE_OPTION){文件f = chooser.getSelectedFile();名稱= f.getName();} makeContentCurrent(); canvas.requestFocus(); loadmodel(); canvas.setVisible(true); context.release();}}); – ima

+0

我只想說,非常感謝你的幫助我找到了解決方案,到最後的問題我只需要tp把canvas.repaint();這裏是代碼 – ima