bilder-applet funktioniert nicht

king_nereos

Grünschnabel
Hallo!

wollte mir ein applet basteln, welches beim klicken auf verschiedene buttons verschiedene bilder anzeigt. wenn ich es jedoch kompiliere, bekomme ich die fehlermeldung "undefinded variable or class name: s".
hab schon einiges probiert, aber es läuft einfach nicht.
hier der quelltext:

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class Bilder extends Applet implements ActionListener {

private Button a, b, c;
private Label label;
Image Bild1, Bild2, Bild3;

public void init() {

setLayout (new FlowLayout());
label = new Label("Bitte wählen Sie Ihr Bild!");
this.add(label);
a = new Button("Bild 1");
a.addActionListener (this);
this.add(a);
b = new Button("Bild 2");
b.addActionListener (this);
this.add(b);
c = new Button("Bild 3");
c.addActionListener (this);
this.add(c);
Bild1 = getImage(getCodeBase(), "Bild1.jpg");
Bild2 = getImage(getCodeBase(), "Bild2.gif");
Bild3 = getImage(getCodeBase(), "Bild3.gif");
}

public void actionPerformed (ActionEvent e) {

String s = e.getActionCommand();
}

public void paint (Graphics g) {

if (s.equals("Bild 1")) { //fehler in dieser zeile
g.drawImage(Bild1, 50, 50, this);
}
else if (s.equals("Bild 2")) { //fehler in dieser zeile
g.drawImage(Bild2, 50, 50, this);
}
else {
g.drawImage(Bild3, 50, 50, this);
}
}
}

ich danke euch schon mal im voraus für eure hilfe!
gruß king_nereos
 
Hi!

bitte schön:

Code:
import java.applet.Applet;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Label;
import java.awt.MediaTracker;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Bilder extends Applet implements ActionListener {

	private Button a, b, c;
	private Label label;
	Image Bild1, Bild2, Bild3, screen;

	String s = "";

	public void init() {

		this.setSize(320, 240);
		screen = this.createImage(320, 240);
		setLayout(new FlowLayout());
		label = new Label("Bitte wählen Sie Ihr Bild!");
		this.add(label);
		a = new Button("Bild 1");
		a.addActionListener(this);
		this.add(a);
		b = new Button("Bild 2");
		b.addActionListener(this);
		this.add(b);
		c = new Button("Bild 3");
		c.addActionListener(this);
		this.add(c);

		//Bilder schön auf einheitliche 200x200 Pixel bringen

		Bild1 =
			getImage(getCodeBase(), "Bild1.jpg").getScaledInstance(
				200,
				200,
				Image.SCALE_SMOOTH);
		Bild2 =
			getImage(getCodeBase(), "Bild2.gif").getScaledInstance(
				200,
				200,
				Image.SCALE_SMOOTH);
		Bild3 =
			getImage(getCodeBase(), "Bild3.gif").getScaledInstance(
				200,
				200,
				Image.SCALE_SMOOTH);

		MediaTracker mt = new MediaTracker(this);
		mt.addImage(Bild1, 0);
		mt.addImage(Bild2, 1);
		mt.addImage(Bild3, 2);

		//warten bis alle Blder geladen worden sind
		try {
			mt.waitForAll();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

	public void actionPerformed(ActionEvent e) {

		s = e.getActionCommand();
		//screen.getGraphics().clearRect(0, 0, 320, 240);
		if (s.equals("Bild 1")) {
			if (Bild1 == null)
				return;
			screen.getGraphics().drawImage(Bild1, 10, 30, this);
		} else if (s.equals("Bild 2")) {
			if (Bild2 == null)
				return;
			screen.getGraphics().drawImage(Bild2, 10, 30, this);
		} else {
			if (Bild3 == null)
				return;
			screen.getGraphics().drawImage(Bild3, 10, 30, this);
		}
		repaint();
	}

	public void paint(Graphics g) {
		super.paint(g);
		if (screen == null) {
			return;
		}
		g.drawImage(screen, 0, 0, this);
	}
}

Gruß Tom
 

Anhänge

  • applet.gif
    applet.gif
    25,3 KB · Aufrufe: 37

Neue Beiträge

Zurück