首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >顶部VlcJ画布

顶部VlcJ画布
EN

Stack Overflow用户
提问于 2016-01-07 08:48:10
回答 1查看 329关注 0票数 0

我正在使用vlcJ库在我的程序中播放来自另一个VLC进程(OutOfProcess player)的视频。播放视频的vlcJ Canvas嵌入到JTabbedPane中的Component中。当播放器初始化时,视频画布就会出现在所有其他控件的前面。

我读过关于重/轻组件的文章,所以我知道,当轻量级组件中嵌入的另一个进程绘制时,JRE 1.8仍然不能正确地处理重量级组件。

嵌入式重量级组件必须属于创建框架或applet的过程。重量级组件必须在应用程序(或applet)的主进程中有一个有效的对等点。

所以我的问题是如何解决这个问题,这样Canvas就不会出现在“无人问津”的面前了?

选项卡“多媒体”承载视频画布。尽管另一个选项卡是打开的,画布仍然保持在一切之上。当主机选项卡“多媒体”打开一次,视频画布的行为正确,并停留在它的标签。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-07 13:49:12

在@MadProgrammer和@caprica的帮助下,我找到了一个解决办法:由于我使用的是带有OutOfProcess的vlcJ-pro播放器,所以我不能使用“直接”aproach,因为Player和canvas是不同的过程。

隐藏和显示视频画布也是不可选的,因为绘制视频图像的组件必须始终可见(否则会发生严重异常)。

最后,我用JPanel将我的视频画布包装成一个CardLayout,然后在一个空窗格和视频画布之间切换。每次打开带有mediaplayer的选项卡时,视频画布就会可见,否则就会显示空窗格。这个解决办法似乎很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34650737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档