如何在 JavaFx 布局更改时保持 vlcj 一致

How to keep vlcj consistent when layout changes in JavaFx

我使用 swing 开发了一个桌面应用程序,在该应用程序下我使用了 JavaFx 组件,我有几个摄像头,我将其拖到 2*2 布局视图,它工作正常,现在我将布局从2 * 2 到 4 * 4,视图发生变化,然后拖动的相机在 canvas 上保持不变,但来自相机的流最初停止然后开始,我只想要视频流来自相机保持一致,无需重新启动,我现在所做的是释放媒体播放器,创建更新的 Canvas 并将其添加到面板中,但我想这不是一个合适的解决方案,任何人都可以帮忙我解决了这个问题,在此先感谢。 非常感谢任何形式的帮助。

您无法从框架组件层次结构中删除媒体播放器 Canvas,也无法将其隐藏。

您必须做一些其他事情,例如使用自定义布局管理器将其大小最小化为 0,0 并将其位置移动到 0,0 或 -1,-1 可能会起作用。

要模拟隐藏,您可以使用带有视频视图和空白视图的 CardLayout 并在它们之间切换。

vlcj 测试源中有一个示例显示了一种方法:https://github.com/caprica/vlcj/blob/master/src/test/java/uk/co/caprica/vlcj/test/layout/AdaptiveLayoutTest.java