Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从JTabbedPane中删除选项卡后,Canvas3D选项卡将停止正确渲染_Java_Swing_Awt_Java 3d_Jtabbedpane - Fatal编程技术网

Java 从JTabbedPane中删除选项卡后,Canvas3D选项卡将停止正确渲染

Java 从JTabbedPane中删除选项卡后,Canvas3D选项卡将停止正确渲染,java,swing,awt,java-3d,jtabbedpane,Java,Swing,Awt,Java 3d,Jtabbedpane,我正在开发一个GUI,它使用Java3D显示3d模型的预览。我有一个JTabbedPane,其中每个选项卡都是Canvas3D,允许加载多个预览并在它们之间切换。在我开始添加删除选项卡的功能之前,这个功能一直运行良好。移除选项卡后,大多数情况下,其余选项卡会停止渲染三维模型,而很少会继续按预期工作。没有一组明显的条件可以确定选项卡何时继续工作,何时不继续工作。然而,加载一个新的预览将使所有其他选项卡恢复活力 我尝试过的事情: 在JTabbedPane上调用validate 在JTabbedPa

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

我尝试过的事情:

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

调用isViewRunning()会返回true,即使它看起来不是这样,所以可能我在寻找这个问题的完全错误的位置。如果您对此有任何想法,我们将不胜感激。

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

为了获得更好的帮助,请尽早发布一个短语,大部分时间可能会提示检查。@mKorbel感谢您的提示。为此准备一个SSCCE似乎需要花费的时间超过了它的价值。我只是希望有人遇到类似的问题。@trashgood谢谢,我正在调查。看起来这可能是一个很有希望的线索。非常感谢你的帮助。该解决方案允许它在所有情况下都能工作,奇怪的是,在我删除最后一个选项卡的情况下除外。移除任何其他东西都能如愿地完美工作。