[Applet] startet in Eclipse aber nicht im Browser

Status
Nicht offen für weitere Antworten.
T

thunder

Gast
Hallo Leute, ich hab ein kleines Applet programmiert.
Man kann eine Zeit einstellen und das Applet zählt die Zeit runter und spielt am Ende eine Sound-Datei ab.

Ich hab das mit Eclipse programmiert und normalerweise starte ich die Anwendungen auch immer aus Eclipse.

Ein Applet wird ja normalerweise über den Browser angezeigt, das habe ich dann mal auch versucht, aber es geht nicht. Im Browser in der Statusleiste steht: NullPointerException, aber mehr Info erhalte ich nicht, auch über den Befehl appletviewer -debug meinprog.class kommt nix sinnvolles. Ich weiß absolut nicht woran es liegen könnte, weil es in Eclipse ja eben perfekt funktioniert.

Ich hoffe jemand kann mir helfen, hier der Quelltext

Code
Code:
import java.applet.AudioClip;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.FlowLayout;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Random;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class LoadAudioAndPlay extends JApplet {
	private AudioClip currentSound;  
	private JButton startJButton, stopJButton, randJButton;
	private JTextField inputSound, inputTime;
	private JLabel counterLabel, statusLabel, errLabel;
	private int counter;
	private Runnable r;
	private Thread test;
	private String DEFAULTTIME, MINTIME, MAXTIME, SOUNDFILE, COUNTDOWN;
	private boolean loadcfg[];

	// Initializing
	public void init() {
		
		loadcfg = new boolean[5];
		
		/*
		 * load default values and then override if config.txt exists 
		 */
		DEFAULTTIME = "2.50";
		MINTIME = "2.50";
		MAXTIME = "4.00";
		SOUNDFILE = "welcome.wav";
		COUNTDOWN = "1";
		
		readConfig(); 
		
		setLayout(new FlowLayout());
	
		add (new JLabel("Welcome 2 Sabacc"));
		
		inputTime = new JTextField(DEFAULTTIME);
		inputSound = new JTextField(SOUNDFILE);
		counterLabel = new JLabel("");
		statusLabel = new JLabel("ready");
		errLabel = new JLabel("");
      
		add (new JLabel("Sounddatei:"));
		add (inputSound);
		
    	add (new JLabel("Zeit:" ));
		add (inputTime);
		
		add (new JLabel("Countdown:   "));
		if (COUNTDOWN.equals("0")) {
			add (new JLabel("(aus)"));
		}
		add (counterLabel);
		
		add (new JLabel("Status:"));
		add (statusLabel);
		
		add (errLabel);
		
		/*
		 * check config values
		 */
		for (int i=0; i<loadcfg.length; i++) {
			if (!loadcfg[i]) {
				errLabel.setText("\"config.txt\" nicht korrekt geladen\n");
			}
		}
		
		// set up button event handler and buttons
		ButtonHandler handler = new ButtonHandler();

		// create Start JButton
		startJButton = new JButton( "Start" );
		startJButton.addActionListener( handler );
		add(startJButton);

		// create Stop JButton
		stopJButton = new JButton( "Stop" );
		stopJButton.addActionListener( handler );
		add(stopJButton);
      
		// create Random JButton
		randJButton = new JButton( "Random" );
		randJButton.addActionListener( handler );
		add(randJButton);

	}

	/*
	 * playing sound
	 */
	private void playing() {
	   	 String s1 = inputSound.getText();
		 currentSound = getAudioClip( getDocumentBase(), s1);
		 currentSound.play(); // play AudioClip once
	}
	
	// private inner class to handle button events
	private class ButtonHandler implements ActionListener {
	   // process play, loop and stop button events
		@SuppressWarnings("deprecation")
		public void actionPerformed( ActionEvent actionEvent ) {
			if ( actionEvent.getSource() == startJButton ) {
				// reset error label
				errLabel.setText("");
				// check if already started
				if (statusLabel.getText().equals("running...")) {
					errLabel.setText("already running");
					return;
				}
				/*
				 * new parallel thread for counting down the time
				 */
				r = new Runnable() {
					public void run() {
						
						/*
						 * Parse Time
						 */
						String parse = inputTime.getText().trim();
						int komma = parse.indexOf(".", 0);
						String nachkomma = parse.substring(komma+1);
						if (komma == -1 || nachkomma.length() != 2) {
							errLabel.setText("Zeit im Format (M)M.SS eingeben\n");
							return;
						}
						statusLabel.setText("running...");
						String min = parse.substring(0, komma);
						String sec = parse.substring(komma+1, komma+3);
						long timerM = Integer.valueOf( min ).intValue();
						double timerS = Integer.valueOf( sec ).intValue();
						long timerM1 = (timerM * 60);
						double timerS1 = ((timerS / 100.0) * 60.0);
						long timer = timerM1 + (long) (timerS1);
						counter = (int) (timer);
						// count every sec down and refresh label
						for (int i=0; i<timer; i++) {
							counter--;
							if (COUNTDOWN.equals("1")) {
								counterLabel.setText(""+counter);
								if (counter == 0) {
									counterLabel.setText("*BoOoOoM*");
								}
							}
							
							try {
								Thread.sleep(1000);
							} catch (InterruptedException e) {
								e.printStackTrace();
							}
						}
						playing();
					}
				};
				// start the thread
				//new Thread(r).start();
				test = new Thread(r);
				test.start();
			}
			else if ( actionEvent.getSource() == stopJButton ) {
				// reset error label and stop the thread
				errLabel.setText("");
				if (test != null) {
					test.stop();
					statusLabel.setText("stopped");
				}
        	 
			}
         
			else if ( actionEvent.getSource() == randJButton ) {
				// generate random time
				double max = Double.valueOf(MAXTIME).doubleValue();
				double min = Double.valueOf(MINTIME).doubleValue();
				errLabel.setText("");
				double tmp = 0;
				Random zufall = new Random();
				tmp = zufall.nextDouble() * max;
				tmp+= min;
				String s2 = String.valueOf(tmp).substring(0, 4);
				inputTime.setText(s2);
			}
		} 
	}
	
	/*
	 * read config.txt lines
	 */
	private void readConfig() {
		String lesepuffer;
		try {
			FileReader freader = new FileReader("config.txt");
			BufferedReader in = new BufferedReader(freader);

			while((lesepuffer = in.readLine()) != null) {

				String tmpString = lesepuffer.toString();
				if (tmpString.contains("SOUND=")) {
					SOUNDFILE = tmpString.substring(6);
					loadcfg[0] = true;
				} else if (tmpString.contains("DEFAULTTIME=")) {
					if (tmpString.length() > 12 && tmpString.contains(".")) {
						DEFAULTTIME = tmpString.substring(12);
						loadcfg[1] = true;
					}
				} else if (tmpString.contains("MINTIME=")) {
					if (tmpString.length() > 8 && tmpString.contains(".")) {
						MINTIME = tmpString.substring(8);
						loadcfg[2] = true;
					}
				} else if (tmpString.contains("MAXTIME=")) {
					if (tmpString.length() > 8 && tmpString.contains(".")) {
						MAXTIME = tmpString.substring(8);
						loadcfg[3] = true;
					}
				} else if (tmpString.contains("COUNTDOWN=")) {
					if (tmpString.length() == 11 && (tmpString.substring(10).endsWith("1") || tmpString.substring(10).endsWith("0"))) {
						COUNTDOWN = tmpString.substring(10);
						loadcfg[4] = true;
					}
				} 
			}
			freader.close();
		}
		catch(Exception e) {
			e.printStackTrace();
			errLabel.setText("\"config.txt\" nicht gefunden\n");
		}
		
	}
}

config.txt
Code:
SOUND=welcome.wav
DEFAULTTIME=3.50
MINTIME=2.50
MAXTIME=4.00
COUNTDOWN=1
 
G

Guest

Gast
Danke für den Tipp.

Also ich hab das mit dem AppletViewer gestartet und es funktioniert einwandfrei.
Es liegt anscheinend am Browser (Firefox 3.0.5)
Ich hab Mac OS X und konnte keine FehlerKonsole für Java finden. FireBug zeigt nix an, also komme ich über den Browser nicht an mehr Info dran.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Applet Applet startet nicht AWT, Swing, JavaFX & SWT 2
G Wie startet man ein Applet ? AWT, Swing, JavaFX & SWT 4
G Grafikformat für AWT-Applet? AWT, Swing, JavaFX & SWT 0
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
T Applet Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 8
C Applet Applet funktioniert in Eclipse aber nicht in Browser AWT, Swing, JavaFX & SWT 1
S Sandboxed Applet weiterhin moeglich..? AWT, Swing, JavaFX & SWT 5
S Oracle's neue Sicherheitseinstellungen zerstoeren mein Applet. Was tun? AWT, Swing, JavaFX & SWT 3
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
U CardLayout im Applet AWT, Swing, JavaFX & SWT 4
J Applet Applet Vererbung/Überladen AWT, Swing, JavaFX & SWT 5
G JavaFX mit ANT deployen als Applet AWT, Swing, JavaFX & SWT 3
S Applet Application 2 applet AWT, Swing, JavaFX & SWT 3
T Applet JTattoo Look and Feel AWT, Swing, JavaFX & SWT 5
T Signiertes Applet Urheber angeben AWT, Swing, JavaFX & SWT 5
S Applet Repaint AWT, Swing, JavaFX & SWT 3
B Java-Applet Parameter übergabe? AWT, Swing, JavaFX & SWT 2
M Applet mit Bildern AWT, Swing, JavaFX & SWT 2
T Applet in JSP einbinden AWT, Swing, JavaFX & SWT 4
R MouseEvent.getX() liefert in Applet Screen-Koordinate AWT, Swing, JavaFX & SWT 2
K Applet Wieso kann ich keine Array im Applet initialisieren AWT, Swing, JavaFX & SWT 13
A Applet Applet vom Web-Server aus aufrufen AWT, Swing, JavaFX & SWT 11
P Tatsächliche Größe für Applet AWT, Swing, JavaFX & SWT 3
B Applet Aus Applet signiertes jar mit externen libs erstellen AWT, Swing, JavaFX & SWT 9
S JDialog über Applet AWT, Swing, JavaFX & SWT 3
M Warum funktioniert mein Applet nicht? AWT, Swing, JavaFX & SWT 6
D Applet hintergrund wird nicht weiß AWT, Swing, JavaFX & SWT 2
R Applet JavaScript Methodenaufruf AWT, Swing, JavaFX & SWT 2
A Applet Animiertes gif in awt applet anzeigen AWT, Swing, JavaFX & SWT 11
X Applet Java Applet Datei Ausführung AWT, Swing, JavaFX & SWT 9
A Applet .gif in applet Image nicht animiert angezeigt AWT, Swing, JavaFX & SWT 4
A Applet Applet aus Code neu starten AWT, Swing, JavaFX & SWT 2
K Applet erkennt keine Frameverkleinerung AWT, Swing, JavaFX & SWT 5
S Applet funktioniert nach Browserreload nicht richtig AWT, Swing, JavaFX & SWT 2
T Applet Applet vs. WebStart AWT, Swing, JavaFX & SWT 4
S Applet starten AWT, Swing, JavaFX & SWT 4
K JTable im Browser nicht zu sehen - Applet AWT, Swing, JavaFX & SWT 6
B Applet Button oder Toolbar in einem Applet AWT, Swing, JavaFX & SWT 5
V Applet mit Bildbearbeitung AWT, Swing, JavaFX & SWT 3
V Applet Applet starten schlägt fehl AWT, Swing, JavaFX & SWT 2
W Button in Applet AWT, Swing, JavaFX & SWT 9
kniffel GUI-Applet JTable füllt Hintergrund völlig aus AWT, Swing, JavaFX & SWT 4
J Applet Java-Applet friert mit Firefox ein AWT, Swing, JavaFX & SWT 8
J Applet Tetris flackert AWT, Swing, JavaFX & SWT 9
F Applet Applet starten...(+Timer?) AWT, Swing, JavaFX & SWT 12
S [JAVA] JFrame in Applet/JApplet AWT, Swing, JavaFX & SWT 14
D Applet Applet das auf fremden Libraries basiert einbinden? AWT, Swing, JavaFX & SWT 20
M Applet wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
M JMenuBar im Applet und paint AWT, Swing, JavaFX & SWT 9
E Applet Neuen Tab aus Applet öffnen AWT, Swing, JavaFX & SWT 3
G Applet, Link ermitteln, dem der Benutzer gefolgt ist AWT, Swing, JavaFX & SWT 2
K Email versenden ueber Applet AWT, Swing, JavaFX & SWT 11
S Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 6
S Button aktivieren (Applet) AWT, Swing, JavaFX & SWT 2
3 Applet Applet zeigt nur weiße Fläche AWT, Swing, JavaFX & SWT 15
B 2 Probleme (JFrame & Applet) AWT, Swing, JavaFX & SWT 7
A Programmieren einer Agenda mit einer Liste (als Applet und .txt zum Speichern) AWT, Swing, JavaFX & SWT 7
H applet Methode aus abstrakter Klasse aufrufen AWT, Swing, JavaFX & SWT 12
H Applet - Hilfedateien im Browser öffnen / eine Webseite laden AWT, Swing, JavaFX & SWT 6
O JPanel aus Applet starten AWT, Swing, JavaFX & SWT 3
O Applet-Steuerung mit Tastaturbefehlen AWT, Swing, JavaFX & SWT 3
F 4-Gewinnt als Applet AWT, Swing, JavaFX & SWT 24
F Applet vs Stand-Alone-Client AWT, Swing, JavaFX & SWT 3
B AWT Bild als Hintergrund im Applet AWT, Swing, JavaFX & SWT 2
D Probleme mit MouseWheelListener und JLayeredPane in Applet AWT, Swing, JavaFX & SWT 2
G Applet und Swing Anwendung AWT, Swing, JavaFX & SWT 2
S Applet - Aerger mit dem Hintergrundbild - JLabel und JTextfield AWT, Swing, JavaFX & SWT 7
F Applet zeigt Bilder nicht an AWT, Swing, JavaFX & SWT 5
R for-Schleife in Applet ausgeben AWT, Swing, JavaFX & SWT 3
S Bild wird auf Canvas in Applet nicht gezeichnet AWT, Swing, JavaFX & SWT 4
W Swing heapsort + Applet AWT, Swing, JavaFX & SWT 4
P Diagramm in einem Applet zeichnen AWT, Swing, JavaFX & SWT 4
M Java Applet JTable/JList AWT, Swing, JavaFX & SWT 6
L Einfache Layout Frage für Applet -> Was mache ich bloss falsch? AWT, Swing, JavaFX & SWT 2
K Alternative zu Applet mit HTML-Einbindung AWT, Swing, JavaFX & SWT 11
J Java-Applet beenden AWT, Swing, JavaFX & SWT 3
R Applet aus JFrame starten AWT, Swing, JavaFX & SWT 2
T Konfiguration speichern in Applet AWT, Swing, JavaFX & SWT 2
P Swing Roter Faden beim Applet GUI Programmieren AWT, Swing, JavaFX & SWT 2
T HTML Seite neu laden mittels Applet AWT, Swing, JavaFX & SWT 2
T Icon von Frame ändern - Applet AWT, Swing, JavaFX & SWT 2
T Java Applet beenden AWT, Swing, JavaFX & SWT 2
M Swing Butten & TextFields aus Applet im JFrame nicht sichtbar AWT, Swing, JavaFX & SWT 2
I Swing .Jar Datei - funktioniert - nun als Applet AWT, Swing, JavaFX & SWT 13
S Applet mit Graphics dynamisch vergrößern AWT, Swing, JavaFX & SWT 3
M AWT text im applet formatieren AWT, Swing, JavaFX & SWT 5
L Applet Frage AWT, Swing, JavaFX & SWT 25
1 Verständnisprobleme bei Java Applet AWT, Swing, JavaFX & SWT 13
B Unterschied JFrame/Applet AWT, Swing, JavaFX & SWT 12
G JSlider in Applet AWT, Swing, JavaFX & SWT 4
P Swing Applet AWT, Swing, JavaFX & SWT 2
R problem mit bildanzeige in applet und main AWT, Swing, JavaFX & SWT 2
A Applet kommt offline nicht mit FileReader zurecht AWT, Swing, JavaFX & SWT 3
F Applet und Popup AWT, Swing, JavaFX & SWT 4
R Ein Applet von einem Applet öffnen lassen AWT, Swing, JavaFX & SWT 2
Z Applet ausblenden AWT, Swing, JavaFX & SWT 5
G JList wird in einem Applet nur teilweise aktualisiert AWT, Swing, JavaFX & SWT 12
P Applet darstellung von Textfeldern Problem AWT, Swing, JavaFX & SWT 3
I Applet --> neues Fenster öffnen AWT, Swing, JavaFX & SWT 11
I Applet mit Panels (so richtig, gehts besser?) AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben