offsetdemo
Mit Offset können Datensätze leicht verschoben werden.
Ein Offset wird automatisch bei allen Punkten des Datensatzes addiert.
In diesem Bespiel werden Quadrate angelegt.
Dann werden sie mittels y-Offset nach unten bewegt.
Bild
Code
import java.awt.Color;
import java.awt.Dimension;
import java.util.Random;
import javax.swing.JFrame;
import plotter.Graphic;
import plotter.Plotter;
import plotter.Sleep;
public class Quadrate {
private int range = 500;
private int nQuad = 60;
private int maxSpeed = 8;
private Graphic graphic = new Graphic("fallende Quadrate");
private Plotter plotter = graphic.getPlotter();
Random rand = new Random();
public Quadrate() {
graphic.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
plotter.setPreferredSize(new Dimension(range, range));
plotter.setRange(0, range);
graphic.pack();
}
public static void main(String args[]) {
(new Quadrate()).male();
}
public void male() {
for (int n = 0; n < nQuad; n++) {
quad("" + n, 5 + rand.nextInt(10), rand.nextInt(range), range - 10);
}
graphic.repaint();
for(int t=0; ;t++) {
plotter.setStatusLine("Time: " +t);
for (int n = 0; n < nQuad; n++) {
double yo = plotter.getDataSet("" + n).getyOffset();
yo -= rand.nextInt( maxSpeed );
if (yo < -range) {
yo = 0;
}
plotter.getDataSet("" + n).setyOffset(yo);
}
graphic.repaint();
Sleep.sleep(20);
}
}
public void quad(String name, int size, int x, int y) {
plotter.nextDataSet(name);
plotter.setDataColor(new Color(rand.nextInt(255), rand.nextInt(255),
rand.nextInt(155) ) );
plotter.add(x, y);
plotter.addD(size, 0);
plotter.addD(0, size);
plotter.addD(-size, 0);
plotter.addD(0, -size);
}
}