bonjour,
je voudrais afficher une video en plein ecran mais le probleme c'est que j'ai une frame plein ecran mais le JPanel qui continet la video ne s'affiche pas (j'entends le son mais pas d'image). et voici mon code
si je decomment pack() dans la methode controllerUpdate() une fenetre plein ecran s'affiche puis la video s'affiche à sa taile original et pas de plein ecran.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 public class VideoPlayer extends JFrame implements ControllerListener{ private Player player = null; private JPanel ecran = null; public VideoPlayer( String nomFilm ){ super(); getContentPane().setLayout( new BorderLayout() ); setUndecorated(true); setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize()); addWindowListener( new WindowAdapter(){ public void windowClosing( WindowEvent we ) { System.exit(0); } }); if ( nomFilm != null) loadMovie( nomFilm ); } private void loadMovie( String movieURL ){ if (movieURL.indexOf( ":" ) < 3) movieURL = "file:" + movieURL; try{ player = Manager.createPlayer( new MediaLocator( movieURL ) ); player.addControllerListener( this ) ; player.realize(); } catch (Exception e){} } public void controllerUpdate( ControllerEvent ce ){ if ( ce instanceof RealizeCompleteEvent ){ if ( ecran == null){ ecran = new JPanel(); ecran.setLayout( new BorderLayout() ); getContentPane().add(ecran, BorderLayout.CENTER ); } else{ ecran.removeAll(); } Component vcomp = player.getVisualComponent(); if ( vcomp != null ){ ecran.add( vcomp, BorderLayout.CENTER ); ecran.setVisible(true); //pack(); } player.start(); } else if ( ce instanceof EndOfMediaEvent ){ if (player != null){ player.setMediaTime(new Time(0)); if (player.getTargetState() < Player.Started) player.prefetch(); player.start(); } } } public static void main( String[] args ){ new VideoPlayer("c:\\fun.mpg").setVisible( true ); }}
comment je dois faire?.
Partager