See ClockPane.java
DisplayResizableClock.java
import javafx.application.Application; import javafx.geometry.Pos; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.BorderPane; public class DisplayResizableClock extends Application { @Override // Override the start method in the Application class public void start(Stage primaryStage) { // Create a clock and a label ClockPane clock = new ClockPane(); String timeString = clock.getHour() + ":" + clock.getMinute() + ":" + clock.getSecond(); Label lblCurrentTime = new Label(timeString); // Place clock and label in border pane BorderPane pane = new BorderPane(); pane.setCenter(clock); pane.setBottom(lblCurrentTime); BorderPane.setAlignment(lblCurrentTime, Pos.TOP_CENTER); // Create a scene and place the pane in the stage Scene scene = new Scene(pane, 250, 250); primaryStage.setTitle("DisplayClock"); // Set the stage title primaryStage.setScene(scene); // Place the scene in the stage primaryStage.show(); // Display the stage pane.widthProperty().addListener(ov -> clock.setWidth(pane.getWidth()) ); pane.heightProperty().addListener(ov -> clock.setHeight(pane.getHeight()) ); } /** * The main method is only needed for the IDE with limited * JavaFX support. Not needed for running from the command line. */ public static void main(String[] args) { launch(args); } }
Maintained by John Loomis, updated Sun Feb 11 17:58:22 2018