Bonjour tout le monde


Je m'initie à java framework media, je vouvrais m'amuser à developper une application mulimedia avec java.

Qui lit la video et l'audio.

Mon problème est que j'ai une erreur d'execution.

Voici les code des class

Code principale

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
 
import java.awt.*;
import javax.swing.*;
 
 
public class LecteurM{
 
 
 public final static int longu =630;
 
 public final static int larg = 825;
 
 
 
 
 
	public static void main(String[] args)
  {
 
Image icone = Toolkit.getDefaultToolkit().getImage("icon/icon.gif");
 
	JFrame F = new JFrame("Lecteur Multimédia");
 
 
	F.setSize(larg,longu);
	F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	F.setLayout(new GridBagLayout());
	F.setIconImage(icone);
	F.setJMenuBar(new Menu());
	F.getContentPane().add(new CompoVideo());// ligne 31
	F.getContentPane().add(new LectVideo());
 
	F.validate();
	F.pack();
 
	F.setVisible(true);
 
 
 
  }
 
 
}

code de la class composants
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
 
import java.awt.*;
import javax.swing.*;
import java.util.*; 
import java.awt.event.*;
import javax.swing.event.*;
 
 
 
 
public class CompoVideo extends JPanel implements ActionListener,MouseMotionListener{
 
ListeVideo test;
 
JComponent video;
 
LectVideo lideo;
 
 
 
public CompoVideo(){
 
	GridBagLayout gridbag = new GridBagLayout();
	this.setLayout(gridbag);
 
 
 
 
 
 
video = auvideo();//ligne 47
video.setBorder(BorderFactory.createLineBorder(Color.green));
 
 
GridBagConstraints povideo = new GridBagConstraints();
 
 
	povideo.gridx=0;
	povideo.gridy=0;
	povideo.gridwidth=1;
	povideo.gridheight=1;
	povideo.weightx=0;
	povideo.weighty=0;
	povideo.insets = new Insets(4,4,4,4);            
	gridbag.setConstraints(video, povideo);
 
 
this.add(video);
 
	}
 
protected JComponent auvideo(){
 
JPanel panauvide = new JPanel();
 
GridBagLayout gridbag = new GridBagLayout();
panauvide.setLayout(gridbag);
 
 
lideo = new LectVideo();//ligne 174
lideo.setBounds(5,5,450,320);
 
panauvide.add(lideo);
 
 
 
 
 
 
return panauvide;
}
 
public void actionPerformed(ActionEvent evt) {
 
 
 
 
 
 
 
 
 
 
}
public void mouseMoved(MouseEvent evt){
 
 
 
}
public void mouseDragged(MouseEvent evt){
 
}

code de la class jfm (java framework media)

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
import java.awt.*;
import javax.swing.*;
import java.net.*;
import javax.media.*;
 
 
 
 
 
public class LectVideo extends JPanel implements ControllerListener{
 
  String urlmedia;
 
  Player play;
 
  Component visu;
  Component sonor;
 
 Menu mn;
 
 
 
	public LectVideo(){
 
	mn = new Menu();
 
	this.urlmedia = mn.address;
 
 
 
	URL mediaurl = null;
 
 
	try{
 
	mediaurl = new URL(urlmedia);
	play = Manager.createPlayer(mediaurl);
 
	}catch (Exception e){
 
 
 
	}
 
	play.addControllerListener(this);//ligne 45
 
	play.realize();
 
	play.start();
 
 
 
	}
 
	public synchronized void controllerUpdate(ControllerEvent event){
 
	if(event instanceof StartEvent){
 
 
	visu = play.getVisualComponent();
 
 
 
	sonor = play.getControlPanelComponent();
 
 
	if(visu!=null){
 
	this.add(visu);
 
	   }
 
 
 
	if(sonor!=null){
 
	this.add(sonor);
 
	    }
 
		}
 
	}
 
}
Voici le code du menu pour la lecture video.

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
 
 
fichier = new JMenuItem("Ouvrir fichier vidéo",KeyEvent.VK_T);
fichier.setMnemonic('v');
fichier.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
 
 
 
 
		FileFilter avi = new FiltreSimple("Fichiers avi",".avi");
 
 
 
		JFileChooser chooser = new JFileChooser(".");
 
 
		chooser.addChoosableFileFilter(avi);
 
 
		chooser.setApproveButtonText("Ouvrir"); 
 
 
 
		if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
    		{	
 
		address = chooser.getSelectedFile().getAbsolutePath();
 
 
 
 
 
		}
 
		}
 
});
 
 
 
file.add(fichier);
Voici l'erreur d'execution

Exception in thread "main" java.lang.NullPointerException
at LectVideo.<init>(LectVideo.java:45)
at CompoVideo.auvideo(CompoVideo.java:174)
at CompoVideo.<init>(CompoVideo.java:47)
at LecteurM.main(LecteurM.java:32)
Je ne vois pas ce que veut dire c'ette erreur.

Pour vous repérer, j'ai signalé les lignes su les codes.

Que manque t'il, pour corriger ces erreurs.

A bientôt