xOneDirectionx (07.02.2014)
Thema: Java Applet ist leer
-
06.02.2014, 20:41 #1
- Registriert seit
- 25.12.2013
- Beiträge
- 12
Thanked 1 Time in 1 PostJava Applet ist leer
Hey, und zwar habe ich ein Problem, dass wenn ich mein Java Programm starte, nur ein Apple kommt aber das Programm an sich nicht läuft.
Vllt könnte einer mal drüberschauen, wäre echt nett!
package katze;
import java.awt.*;
import java.applet.Applet;
public class katze extends java.applet.Applet implements Runnable {
Image katzeBild[] = new Image[9];
Image currentImg;
Thread laufen;
int x;
int y = 50;
public void init() {
String katzeSrc[] = { "rechts1.gif", "rechts2.gif",
"steh.gif", "gaehn.gif", "kratz1.gif",
"kratz2.gif","schlaf1.gif", "schlaf2.gif",
"aufwachen.gif" };
for (int i=0; i < katzeBild.length; i++) {
katzeBild[i] = getImage(getCodeBase(),"bilder/" + katzeSrc[i]);
}
}
public void start() {
if (laufen == null) {
laufen = new Thread(this);
laufen.start();
}
}
public void stop() {
if (laufen != null){
laufen.stop();
laufen = null;
}
}
public void run() {
setBackground(Color.white);
// von rechts bis zur Bildmitte laufen
katzeRennen(0, getSize().width / 2);
// stehen bleiben
currentImg = katzeBild[2];
repaint();
pause(1000);
// gähnen
currentImg = katzeBild[3];
repaint();
pause(1000);
// sich kratzen
katzeKratzen(4);
// schlafen
katzeSchlafen(5);
// aufwachen und wegrennen
currentImg = katzeBild[8];
repaint();
pause(500);
katzeRennen(x, getSize().width + 10);
}
void katzeRennen(int start, int end) {
for (int i = start; i < end; i += 10) {
x = i;
// Bilder austauschen
if (currentImg == katzeBild[0]) currentImg = katzeBild[1];
else currentImg = katzeBild[0];
repaint();
pause(150);
}
}
void katzeKratzen(int anzahl) {
for (int i = anzahl; i > 0; i--) {
currentImg = katzeBild[4];
repaint();
pause(150);
currentImg = katzeBild[5];
repaint();
pause(150);
}
}
void katzeSchlafen(int anzahl) {
for (int i = anzahl; i > 0; i--) {
currentImg = katzeBild[6];
repaint();
pause(250);
currentImg = katzeBild[7];
repaint();
pause(250);
}
}
void pause(int time) {
try {
Thread.sleep(time);
} catch (InterruptedException e) { }
}
public void paint(Graphics g) {
if (currentImg != null)
g.drawImage(currentImg, x, y, this);
}
}
-
06.02.2014, 21:55 #2
- Registriert seit
- 15.11.2011
- Beiträge
- 6.238
- Blog Entries
- 5
Thanked 9.136 Times in 3.010 PostsAW: Hilfe bei JavaProgramm
public void paint(Graphics g) {
if (currentImg != null)
g.drawImage(currentImg, x, y, this);
}
Ich würde darauf tippen, dass currentImg null ist. Debugge das mal, ich hab den ganzen Java-Kram schon länger nicht mehr installiert.
Darf man fragen wieso du überhaupt auf Technologie aus dem letzten Jahrhundert setzt? Java-Applets waren damals ein notwendiges Übel und sterben dank HTML5, CSS3 & co langsam aber sicher aus.
-
The Following User Says Thank You to DMW007 For This Useful Post:
-
07.02.2014, 15:14 #3
AW: Java Applet ist leer
Ich seh auch nirgends wo paint(Graphics g) mal aufgerufen wird, damit was auf den weißen Hintergrund gemalt wird.
-
07.02.2014, 16:45 #4
AW: Java Applet ist leer
Die Methode wird nicht manuell aufgerufen.
Ähnliche Themen
-
Win7 Java in Safari ausführen (Fehlermeldung Java nicht installiert)
Von Silverstar im Forum WindowsAntworten: 8Letzter Beitrag: 02.12.2013, 23:41 -
[Java] Aus Klasse heraus auf Applet zeichnen
Von !lkay im Forum JavaAntworten: 11Letzter Beitrag: 19.04.2013, 21:26 -
[Java]Graphics/Applet - Problem
Von aquastar im Forum JavaAntworten: 7Letzter Beitrag: 29.01.2013, 17:32 -
Java Applet & Cookies
Von uncopyable im Forum JavaAntworten: 1Letzter Beitrag: 04.12.2011, 18:25
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.