LastebilApp.java [Last ned]

/*
 * Programmet tegner to lastebiler som kjører etter hverandre.
 */
 
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.Group;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Line;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.application.*;
import javafx.stage.*;
import javafx.scene.*;
 
public class LastebilApp extends Application {
 
public static void main(String[] args) {
    launch(args);
  }
 
  public void start(Stage stage) {
    // Definerer vinduet og initierer scenegrafen
    Group root = new Group();
    Scene scene = new Scene(root, 800, 300);
    stage.setScene(scene);
    stage.setTitle("LastebilApp");
 
    // Setter posisjon og størrelse
    int x = 100;
    int y = 80;
    int lengde = 50;
    int antBiler = 2;
 
    // Viser de to lastebilene
    for (int i=1; i<=antBiler; i++) {
      root.getChildren().add(lagLastebil(x, y, lengde));
      x += lengde*2;
    }
 
    // Viser scenegrafen
    stage.show();
  }
 
  public Group lagLastebil(int x, int y, int lengde) {
    // Først lages underdelen
    int yUnder =  y-lengde/3-lengde/5;
    Rectangle under = new Rectangle(x, yUnder, lengde, lengde/3);
    under.setStroke(Color.BLACK);
    under.setFill(Color.WHITE);
 
    // Så lasteplanet
    int yLast = y-2*lengde/3-lengde/5;
    Rectangle last = new Rectangle(x, yLast, 3*lengde/4, lengde/3);
    last.setStroke(Color.BLACK);
    last.setFill(Color.WHITE);
 
    // Så førerhuset
    int yHus = y-lengde/5-lengde/3-lengde/5;
    Rectangle hus = new Rectangle(x+3*lengde/4, yHus, lengde/6, lengde/5);
    hus.setStroke(Color.BLACK);
    hus.setFill(Color.WHITE);
 
    // Tre like store hjul, forskjøvet i x-retningen
    int r = lengde/8;
    Circle hjul1 = new Circle(x+r, y-r/2, r);
    hjul1.setStroke(Color.BLACK);
    hjul1.setFill(Color.WHITE);
    Circle hjul2 = new Circle(x+3*r, y-r/2, r);
    hjul2.setStroke(Color.BLACK);
    hjul2.setFill(Color.WHITE);
    Circle hjul3 = new Circle(x+7*r, y-r/2, r);
    hjul3.setStroke(Color.BLACK);
    hjul3.setFill(Color.WHITE);
 
    // Lastebilen settes sammen
    Group lastebil = new Group();
    lastebil.getChildren().add(under);
    lastebil.getChildren().add(last);
    lastebil.getChildren().add(hus);
    lastebil.getChildren().add(hjul1);
    lastebil.getChildren().add(hjul2);
    lastebil.getChildren().add(hjul3);
 
    return lastebil;
  }
 
}
Kildekode blir vist ved hjelp av GeSHi.