簡體   English   中英

從JTabbedPane中刪除選項卡時,Canvas3D選項卡會正確停止渲染

[英]Canvas3D Tabs Stop Rendering Correctly When Tab Removed from JTabbedPane

我正在使用Java3D的GUI顯示3d模型的預覽。 我有一個JTabbedPane,其中每個選項卡都是Canvas3D,以允許加載多個預覽並在它們之間切換。 在我開始添加刪除選項卡的功能之前,這種方法一直很好。 移除選項卡后, 大多數情況下 ,其余的選項卡會停止渲染3d模型,而很少能按預期繼續工作。 沒有明顯的條件可以確定選項卡何時可以繼續工作以及何時不能繼續工作。 但是,加載新的預覽將使所有其他選項卡恢復正常。

我嘗試過的事情:

  • 在JTabbedPane上調用validate
  • 在JTabbedPane上調用invalidate,然后驗證
  • 在當前新選擇的Canvas3D選項卡上調用無效/驗證
  • 在Canvas3D,JTabbedPane等上調用repaint()。
  • 在附加到Canvas3D的View對象上調用stopView()startView()

即使看起來不是,調用isViewRunning()也會返回true,所以也許我正在尋找完全錯誤的位置來解決此問題。 任何對此的想法將不勝感激。

在6u33或7u5(Win 7 64)上運行我的應用程序時,Canvas3D選項卡可以正確呈現。 在“以前的時代”中,按照一種變通方法提示,當刪除選項卡時,我在JTabbedPane的ChangeListener中的頂級組件(通常是JFrame)上調用了validate。

暫無
暫無

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

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