Kapitel 10: "Appletprogrammierung"

"BildUndStrukturFlackern.java"


import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import java.lang.Math;
import java.util.Random;

/* Bild als Hintergrund und mausempfindliche Linienstruktur im
Vordergrund erzeugt unangenehmes flackern */

public class BildUndStrukturFlackern extends Applet {
int width, height, mx, my, counter=0;
final int N=100;
Point[] points;
Image img;
Random r;

public void init() {
width = getSize().width;
height = getSize().height;
setBackground(Color.black);

// Mauskoordinaten und MouseMotionListener
addMouseMotionListener(new MouseMotionHelper());

img = getImage(getDocumentBase(), "apfelmaennchen.jpg");
r = new Random();
}

// *************************************************************
// Klassenmethoden
private void zeichneLinien(Graphics g){
for (int i=1; i < N; i++) {
// wähle zufällige Farbe
g.setColor(new Color(r.nextInt(256),
r.nextInt(256),
r.nextInt(256)));

// verbinde die Punkte
g.drawLine(mx+(int)((r.nextFloat()-0.2)*(width /2)),
my+(int)((r.nextFloat()-0.2)*(height/2)),
mx+(int)((r.nextFloat()-0.2)*(width /2)),
my+(int)((r.nextFloat()-0.2)*(height/2)));
}
}

private void zeichneBild(Graphics g){
g.drawImage(img, 0, 5, this);
}
// *************************************************************

// *************************************************************
private class MouseMotionHelper extends MouseMotionAdapter{
// Maus wird innerhalb der Appletflaeche bewegt
public void mouseMoved(MouseEvent e) {
mx = e.getX();
my = e.getY();
showStatus("Mauskoordinaten(x="+mx+", y="+my+")
Counter:"
+counter);
// ruft die paint-Methode auf
repaint();
e.consume();
}
}
// *************************************************************

public void paint(Graphics g) {
zeichneBild(g);
zeichneLinien(g);
counter++;
}
}

Picksel Media Marco Block © 2006-2009 – ImpressumKontakt
Gestaltung und Umsetzung Tobias Losch, www.picksel-media.de