package beispiel; import java.lang.System; import java.text.DateFormat; import java.text.SimpleDateFormat; import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.lang.Duration; public class Uhrzeit { public var stunden: Integer; public var minuten; public var sekunden = 0; public var titel = ""; def INTERVAL: Duration = 1s; def TITEL_FORMAT = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); function tick () { def einfach = 'mit einfachen Hochkommata'; def doppelt = "mit doppelten Hochkommata"; var ueberMehrereZeilen = 'eine langer Text kann jetzt ' "über mehrere Zeilen definiert werden"; var mitVariablenDrin = "mit Variable drin '{einfach}'"; System.out.println("\n"); System.out.println("{mitVariablenDrin}"); System.out.println("Buchstaben in ueberMehrereZeilen={ueberMehrereZeilen.length()}"); // Verwendung einer 'normalen' Java Klasse var now = new java.util.Date(); sekunden = now.getSeconds(); minuten = now.getMinutes(); stunden = now.getHours() ; titel = TITEL_FORMAT.format( now ); System.out.println ("{stunden} : {minuten} : {sekunden}" ); } // Konstruktor Funktion init { // Erzeugen einer KeyFrame Instanz var aktion = KeyFrame { time: INTERVAL, canSkip: true, action: function() { tick(); } // <--Funktionsreference } // Erzeugen einer Timeline Instanz var zeitleiste = Timeline { repeatCount: Timeline.INDEFINITE keyFrames: [ aktion ] } // ... und starten zeitleiste.play(); } }