Hallo,
Das lässt sich jetzt zwar im AppletViewer von Eclipse aufrufen, aber nicht im Browser. Firefox stürzt eigentlich direkt ab und bei IE kommt ein reservierter Bereich für das Applet aber darin ist nur ein rotes X. Ich will mit dem Applet nur einen Tastendruck mit dem Keylistener erfassen, es sollen Bilder auf labels geändert werden und es soll ein sound abgespielt werden.
Weiß jemand wo der Fehler liegt?
(Beim starten des AppletViewer wird ja eine html datei erstellt. Diese habe ich sogar kopiert und geöffnet, funktioniert so aber auch nicht)
Zusatz:
Habe jetzt diese html Datei vom AppletViewer in Firefox öffnen können. Es kam das rote x, habe es angeklickt und es öffnete sich ein Fenster mit Inhalt:
Java Plug-in 1.6.0_29
Verwendung der JRE-Version 1.6.0_29-b11 Java HotSpot(TM) Client VM
Home-Verzeichnis des Benutzers = C:\Users\Nutzername
----------------------------------------------------
c: Konsole löschen
f: Objekte in Finalisierungswarteschlange finalisieren
g: Speicherbereinigung
h: Diese Hilfemeldung anzeigen
l: ClassLoader-Liste ausgeben
m: Speicherbelegung anzeigen
o: Protokollierung auslösen
q: Konsole ausblenden
r: Richtlinien-Konfiguration neu laden
s: System- und Bereitstellungseigenschaften ausgeben
t: Threadliste ausgeben
v: Thread-Stack ausgeben
x: ClassLoader-Cache löschen
0-5: Trace-Stufe auf <n> setzen
----------------------------------------------------
java.lang.reflect.InvocationTargetException
at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.io.FilePermission lichtblauan.jpg read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at javax.swing.ImageIcon.<init>(Unknown Source)
at javax.swing.ImageIcon.<init>(Unknown Source)
at Buzzer.<init>(Buzzer.java:69)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Ausnahme: java.lang.reflect.InvocationTargetException
Weiß da jemand was mit anzufangen?
Java:
import java.applet.AudioClip;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class Test extends JApplet
{
private JLabel labell,labelr,labelc;
private ImageIcon i1,i2,i3;
private boolean active = true;
private AudioClip sound;
private FlowLayout layout = new FlowLayout();
public Test()
{
JPanel contentPane = (JPanel)this.getContentPane();
contentPane.setLayout(layout);
sound = JApplet.newAudioClip(getClass().getResource("sound.au"));
labelc = new JLabel("text");
addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
if (e.getKeyChar() == 'l' && active == true) {
labell.setIcon(i1);
active = false;
sound.play();
}
if (e.getKeyChar() == 'a' && active == true) {
labelr.setIcon(i2);
active = false;
sound.play();
}
if (e.getKeyChar() == 'b') {
labell.setIcon(i3);
labelr.setIcon(i3);
active = true;
}
labell.repaint();
labelr.repaint();
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
});
i1 = new ImageIcon("b1.jpg");
i2 = new ImageIcon("b2.jpg");
i3 = new ImageIcon("b3.jpg");
labell = new JLabel("TEXT");
labelr = new JLabel();
labell.setIcon(i1);
labelr.setIcon(i2);
labelc.setFont(new Font("Arial", Font.BOLD, 20));
labelc.setSize(300,50);
layout.setHgap(30);
add(labell);
add(labelc);
add(labelr);
}
}
Das lässt sich jetzt zwar im AppletViewer von Eclipse aufrufen, aber nicht im Browser. Firefox stürzt eigentlich direkt ab und bei IE kommt ein reservierter Bereich für das Applet aber darin ist nur ein rotes X. Ich will mit dem Applet nur einen Tastendruck mit dem Keylistener erfassen, es sollen Bilder auf labels geändert werden und es soll ein sound abgespielt werden.
Weiß jemand wo der Fehler liegt?
(Beim starten des AppletViewer wird ja eine html datei erstellt. Diese habe ich sogar kopiert und geöffnet, funktioniert so aber auch nicht)
Zusatz:
Habe jetzt diese html Datei vom AppletViewer in Firefox öffnen können. Es kam das rote x, habe es angeklickt und es öffnete sich ein Fenster mit Inhalt:
Java Plug-in 1.6.0_29
Verwendung der JRE-Version 1.6.0_29-b11 Java HotSpot(TM) Client VM
Home-Verzeichnis des Benutzers = C:\Users\Nutzername
----------------------------------------------------
c: Konsole löschen
f: Objekte in Finalisierungswarteschlange finalisieren
g: Speicherbereinigung
h: Diese Hilfemeldung anzeigen
l: ClassLoader-Liste ausgeben
m: Speicherbelegung anzeigen
o: Protokollierung auslösen
q: Konsole ausblenden
r: Richtlinien-Konfiguration neu laden
s: System- und Bereitstellungseigenschaften ausgeben
t: Threadliste ausgeben
v: Thread-Stack ausgeben
x: ClassLoader-Cache löschen
0-5: Trace-Stufe auf <n> setzen
----------------------------------------------------
java.lang.reflect.InvocationTargetException
at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.io.FilePermission lichtblauan.jpg read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at javax.swing.ImageIcon.<init>(Unknown Source)
at javax.swing.ImageIcon.<init>(Unknown Source)
at Buzzer.<init>(Buzzer.java:69)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Ausnahme: java.lang.reflect.InvocationTargetException
Weiß da jemand was mit anzufangen?
Zuletzt bearbeitet: