gpt4 book ai didi

java - 从 JTabbedPane 中删除选项卡时,Canvas3D 选项卡正确停止渲染

转载 作者:行者123 更新时间:2023-12-01 15:18:21 25 4
gpt4 key购买 nike

我正在开发一个使用 Java3D 来显示 3d 模型预览的 GUI。我有一个 JTabbedPane,其中每个选项卡都是一个 Canvas3D,以允许加载多个预览并在它们之间切换。这一直工作得很好,直到我开始添加删除选项卡的功能。当某个选项卡被删除时,大多数时候,剩余的选项卡会停止渲染 3D 模型,但很少会继续按预期工作。没有一组明显的条件可以确定选项卡何时继续工作以及何时不工作。然而,加载新的预览将使所有其他选项卡恢复活力。

我尝试过的事情:

  • 在 JTabbedPane 上调用验证
  • 在 JTabbedPane 上调用 invalidate,然后进行 validate
  • 在当前选定的新 Canvas3D 选项卡上调用 invalidate/validate
  • 在 Canvas3D、JTabbedPane 等上调用 repaint()。
  • 在附加到 Canvas3D 的 View 对象上调用 stopView() startView()

调用 isViewRunning() 返回 true,即使它看起来并非如此,所以也许我正在寻找完全错误的位置来解决这个问题。任何对此的想法都将非常感激。

最佳答案

在 6u33 或 7u5 (Win 7 64) 上运行我的应用程序时,Canvas3D 选项卡可以正确呈现。在“以前”,根据解决方法提示,当删除选项卡时,我在 JTabbedPane 的 ChangeListener 中的顶级组件(通常是 JFrame)上调用了 validate。

关于java - 从 JTabbedPane 中删除选项卡时,Canvas3D 选项卡正确停止渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11319773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com