Comment ajouter JLabel avec un fond transparent sur vlcj MediaPlayer?Ajout d'un transparent JLabel top vlcj MediaPlayer?
Je mets la source ci-dessous, mais cela ne fonctionne pas comme il se doit, car JLabel n'a pas d'arrière-plan transparent.
import com.sun.jna.NativeLibrary;
import javax.swing.*;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
class VideoExample extends JFrame {
private EmbeddedMediaPlayerComponent mediaPlayerComponent;
public VideoExample(String path) {
super("Простой видео плеер");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(640, 480);
//Create JLayeredPane
JLayeredPane mainLayer = new JLayeredPane();
mainLayer.setSize(640,480);
//Create MediaPlayer on background
mediaPlayerComponent = new EmbeddedMediaPlayerComponent();
mediaPlayerComponent.setLocation(0, 0);
mediaPlayerComponent.setSize(mainLayer.getSize());
//Create MediaPlayer on foreground
JLabel label = new JLabel("LABEL", JLabel.CENTER);
label.setBounds(100, 100, 200, 100);
label.setOpaque(false);
mainLayer.add(mediaPlayerComponent, JLayeredPane.DEFAULT_LAYER); //add mediaPlayer in DEFAULT_LAYER
mainLayer.add(label, JLayeredPane.PALETTE_LAYER); //add label in PALETTE_LAYER
add(mainLayer); // add JLayeredPane in JFrame
setVisible(true);
mediaPlayerComponent.getMediaPlayer().playMedia(path);
}
public static void main(String[] args) {
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), System.getProperty("user.dir") + "/lib/vlc64");
final String mrl = "D:\\Candlelight_QT.mov";
new VideoExample(mrl);
}
}
Ceci est le résultat:
The result http://vitamin.vipdesign.com.ua/1n7tJ.jpg
Veuillez comprendre que vous demandez à des volontaires de vous aider pendant leur temps libre. Afficher tout le code pertinent et les informations nécessaires pour répondre à la question * ici *, pas dans un lien. Si le code est trop long pour être publié ici, il est trop long de demander à des volontaires de le réviser et vous devriez le raccourcir en créant et en publiant un [sscce] (http://sscce.org) si possible. –
Désolé.J'ai corrigé. – iRipVanWinkle
Cela peut être une restriction de VLC car 'JLabel' est transparent par défaut ... – MadProgrammer