我正在使用vlcj
在应用程序中显示带有OutOfProcessMediaPlayerComponent
的视频。为此,我将视频画布添加到未修饰的JDialog
的内容窗格中。可以按预期工作,但是当我将对话框的背景色设置为透明时,视频画布显示为空白,视频不再起作用。该行为是可重现的,并通过以下代码完成:
[...]
JPanel contentPane = new JPanel(new BorderLayout());
JDialog videoPopup = new JDialog(owner);
videoPopup.setUndecorated(true);
videoPopup.setType(Window.Type.NORMAL);
videoPopup.setModalityType( Dialog.ModalityType.MODELESS);
videoPopup.setContentPane(contentPane);
contentPane.setOpaque(false);
contentPane.add(videoCanvas, BorderLayout.CENTER);
videoPopup.setBackground(new Color(0,0,0,0)); // This line destroys the video playback function
我想创建一个透明背景的弹出窗口,其中包含我的视频面板和其他内容,为什么将背景设置为透明时视频播放会中断?
答案 0 :(得分:0)
在我的其中一个用于获取透明窗口的软件中,我使用
module.exports = (criteria, sortProperty, offset = 0, limit = 20) => {
// write a query that will follow sort, offset, limit options only
// do not worry about criteria yet
Artist.find()
.sort({ [sortProperty]: 1 })
.skip(offset)
.limit(limit);
};
请注意,我框架(内容窗格)上的背景是Color.BLACK 也许对您的对话框也可以。