package ch.fhnw.oop2.lecture6; import javafx.application.Application; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.GridPane; import javafx.scene.layout.Priority; import javafx.stage.Stage; /** * Created by Kelvin on 05-Apr-16. */ public class Calculator extends Application { @Override public void start(Stage primaryStage) { String url = getClass().getResource("calculator.css").toExternalForm(); GridPane gridPane = new GridPane(); gridPane.setHgap(1); gridPane.setVgap(1); gridPane.add(getLabel("0"), 0, 0, 4, 1); gridPane.add(getButton("C"), 0, 1); gridPane.add(getButton("+/-"), 1, 1); gridPane.add(getButton("/"), 2, 1); gridPane.add(getButton("*"), 3, 1); gridPane.add(getButton("7"), 0, 2); gridPane.add(getButton("8"), 1, 2); gridPane.add(getButton("9"), 2, 2); gridPane.add(getButton("-"), 3, 2); gridPane.add(getButton("4"), 0, 3); gridPane.add(getButton("5"), 1, 3); gridPane.add(getButton("6"), 2, 3); gridPane.add(getButton("+"), 3, 3); gridPane.add(getButton("1"), 0, 4); gridPane.add(getButton("2"), 1, 4); gridPane.add(getButton("3"), 2, 4); gridPane.add(getButton("="), 3, 4, 1, 2); gridPane.add(getButton("0"), 0, 5, 2, 1); gridPane.add(getButton("."), 2, 5); Scene scene = new Scene(gridPane); scene.getStylesheets().add(url); primaryStage.setTitle("Calculator"); primaryStage.setScene(scene); primaryStage.show(); } private Button getButton(String name) { Button button = new Button(name); button.setPrefSize(30, 30); button.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE); button.setAlignment(Pos.CENTER); GridPane.setHgrow(button, Priority.ALWAYS); GridPane.setVgrow(button, Priority.ALWAYS); return button; } private Label getLabel(String name) { Label label = new Label(name); label.setPrefSize(200, 50); label.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE); return label; } public static void main(String[] args) { launch(args); } }