Applet: zeigt kein Bild(Image) an
-
Hi,
ich bin jetzt langesam etwas verzweifelt, da mir nicht klar ist, warum java das bild nicht anzeigt was ich im applet angebe. Im JavaEditor wird es angezeigt in der vorschau im Browser nicht.
Das bild liegt genau neben dem applet also ohne schwierigkeiten auffindbar.
hat da viell. wer eine idee zu?
import java.awt.*; import java.util.*; import java.awt.geom.*; import java.applet.*; import java.io.*; import java.awt.Graphics2D; public class Bildausgabe extends java.applet.Applet { public void paint(Graphics g) { Image img; img = getToolkit().getImage("Bild.jpg"); g.drawImage(img,40,40,this); } }
-
Hallo,
du hast es vermutlich falsch eingebunden, poste mal die HTML - Datei.
MfG
GPC
-
<html> <head> <title>Bildausgabe-Applet</title> </head> <body> <h1>Bildausgabe-Applet</h1> <hr> <applet code="Bildausgabe.class" width="500" height="500"> </applet> <hr> </body> </html>
-
Hm, also folgendes Beispiel funktioniert im appletviewer hervorragend:
Java - Datei:
import java.awt.*; import java.applet.*; import javax.swing.*; import java.awt.event.*; public class Test extends JApplet { public void init() { getContentPane().setLayout(new BorderLayout()); Image img = Toolkit.getDefaultToolkit(). getImage(getClass().getResource("foo.gif")); add("Center", new JLabel(new ImageIcon(img))); } }
HTML - Datei:
<HTML> <HEAD> <TITLE>Applet Test</TITLE> </HEAD> <BODY> <H1>Test of Image</H1> <HR> <P> <APPLET CODE="Test.class" WIDTH="640" HEIGHT="480"> </APPLET> </P> <HR> </BODY> </HTML>
Alles lag im selben Verzeichnis... klappt mein Beispiel bei dir?
MfG
GPC
-
die version funktioniert ... aber dacht nicht das man das so aufblasen muß für diese anwendung.
-
00Albert schrieb:
die version funktioniert ... aber dacht nicht das man das so aufblasen muß für diese anwendung.
Na ja, das getClass() Zeugs hab ich nur drin, weil ich meine Java Anwendungen immer in Packages gliedere und da halt eine Verzeichnisstruktur reinbaue, die alles schön gliedert. Dann braucht man das. Aber hier würde man es theoretisch nicht brauchen. Es schadet aber auch nicht, also besser dran gewöhnen. Packages sind wichtig.
MfG
GPC
-
Das funkt doch nur, wenn das Bild schon komplett geladen wurde, oder?
Ich hab jedenfalls mal bei mir das Problem gehabt, dass das Bild
(allerdings in einer Paint-Methode selbst gezeichnet) nicht immer angezeigt wurde...Du kannst aber mit dem MediaTracker überprüfen, ob dein Bild fertig geladen wurde.
-
Dein Hauptproblem ist, daß du das Bild jedesmal in der paint-Methode laden willst.
public void paint(Graphics g) { Image img; img = getToolkit().getImage("Bild.jpg"); g.drawImage(img,40,40,this); }
Das Laden muß in der init()-Methoden geschehen.
Die paint-Methode sieht dann so aus:public void paint(Graphics g) { if (img != null) g.drawImage(img,40,40,this); }