awel, ik ben bezig met een programmatje te maken, waarbij ik een aantal pagina's in een JPanel aanroep.
Nu ben ik zover dat ik dat filmpje af kan spelen (tis een .mpg) dmv van JMF.
Maar als ik het programmaatje laat lopen, dan begint het filmpje meteen te spelen, terwijl ik dat pas wil als i op het knopje intro druk:
Pws.java
hiermee roep ik de pagina's aan.
als ik het programma start, zie ik eerst de inhoud van Start.java
maar direct daarna springt hij over naar Intro.java en begint het filmpje te lopen, terwijl ik nog niet eens op het knopje Intro heb gedrukt.
Intro.java
nu is dus mijn vraag: hoe voorkom ik dat meteen het filmpje gaat lopen en dat hij meteen overspringt naar de Intro?
Ik wil dus eerst gewoon de start pagina zien, en dan pas het filmpje als ik op intro klik.
Ps. excuses voor die lap code, maar ik neem aan dat die wel noodzakelijk is
Nu ben ik zover dat ik dat filmpje af kan spelen (tis een .mpg) dmv van JMF.
Maar als ik het programmaatje laat lopen, dan begint het filmpje meteen te spelen, terwijl ik dat pas wil als i op het knopje intro druk:
Pws.java
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| private void populateTabbedPane() //joepie een paneeltje vullen { tabbedPane.addTab ("Start", null, new Start(), "Klik hier om te beginnen" ); tabbedPane.addTab ("Intro", null, new Intro(), "Klik hier om de geweldige intro te bekijken" ); tabbedPane.addTab ("Credits", null, new Credits(), "Een paar bedankjes" ); } |
hiermee roep ik de pagina's aan.
als ik het programma start, zie ik eerst de inhoud van Start.java
maar direct daarna springt hij over naar Intro.java en begint het filmpje te lopen, terwijl ik nog niet eens op het knopje Intro heb gedrukt.
Intro.java
Java:
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
93
94
95
96
97
98
| package Pws; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; import javax.media.*; public class Intro extends JPanel { private static Intro instance; protected Player player; private File file= new File ("Sn.mpg"); public Intro () { instance=null; initComponents(); setLayout (new BorderLayout()); setBackground(Color.black); } public static Intro getInstance() { if (instance==null) instance=new Intro (); return instance; } private void initComponents() { setSize (300, 300); show (); createPlayer (); } private void createPlayer () { if (file == null) { return; } removePreviousPlayer (); try { //create a new player and add listener player = Manager.createPlayer (file.toURL () ); player.addControllerListener (new EventHandler () ); player.start (); //start player } catch (Exception e) { JOptionPane.showMessageDialog (this, "Invalid file or location", "Error loading file", JOptionPane.ERROR_MESSAGE ); System.exit (1); } } private void removePreviousPlayer () { if (player == null ) return; player.close (); Component visual = player.getVisualComponent (); Component control = player.getControlPanelComponent (); if (visual != null) remove (visual); if (control !=null) remove (control); } private class EventHandler implements ControllerListener { public void controllerUpdate (ControllerEvent e) { if (e instanceof RealizeCompleteEvent ) { Component visualComponent = player.getVisualComponent (); if (visualComponent != null) add (visualComponent, BorderLayout.CENTER); Component controlsComponent = player.getControlPanelComponent (); if (controlsComponent != null) add (controlsComponent, BorderLayout.SOUTH); doLayout(); } } } } |
nu is dus mijn vraag: hoe voorkom ik dat meteen het filmpje gaat lopen en dat hij meteen overspringt naar de Intro?
Ik wil dus eerst gewoon de start pagina zien, en dan pas het filmpje als ik op intro klik.
Ps. excuses voor die lap code, maar ik neem aan dat die wel noodzakelijk is
rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!