Java实验(16) 我的计算器

来源:互联网 发布:百度软件助手 skype 编辑:程序博客网 时间:2024/06/15 19:39

编程设计如图所示的界面。要求最后的界面布局尽可能接近效果图,不需要实现按钮功能。


import javafx.application.Application;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.layout.*;import javafx.scene.paint.Color;import javafx.stage.Stage;import javafx.geometry.Insets;import javafx.scene.control.*;import javafx.scene.layout.BorderPane;import javafx.scene.text.*;public class MyCalculator extends Application {    @Override    public void start(Stage primaryStage) {        Button btnMC = new Button("MC");        Button btnMR = new Button("MR");        Button btnMS = new Button("MS");        Button btnMa = new Button("M+");        Button btnMb = new Button("M-");        Button btnCancel = new Button("<—");        Button btnCE = new Button("CE");        Button btnC = new Button("C");        Button btnOperator = new Button("+/-");        Button btnChecked = new Button("√");        Button btndivide = new Button("/");        Button btnPercent = new Button("%");        Button btnMulti = new Button("*");        Button btnx = new Button("1/x");        Button btnSub = new Button("-");        Button btnAdd = new Button("+");        Button btnEqual = new Button("=");        Button btnDot = new Button(".");        Button btn9 = new Button("9");        Button btn8 = new Button("8");        Button btn7 = new Button("7");        Button btn6 = new Button("6");        Button btn5 = new Button("5");        Button btn4 = new Button("4");        Button btn3 = new Button("3");        Button btn2 = new Button("2");        Button btn1 = new Button("1");        Button btn0 = new Button("0");        //设置大小        btnMC.setPrefSize(40,30);        btnMR.setPrefSize(40,30);        btnMS.setPrefSize(40,30);        btnMa.setPrefSize(40,30);        btnMb.setPrefSize(40,30);        btnCancel.setPrefSize(40,30);        btnCE.setPrefSize(40,30);        btnC.setPrefSize(40,30);        btnOperator.setPrefSize(40,30);        btnChecked.setPrefSize(40,30);        btndivide.setPrefSize(40,30);        btnPercent.setPrefSize(40,30);        btnMulti.setPrefSize(40,30);        btnx.setPrefSize(40,30);        btnSub.setPrefSize(40,30);        btnAdd.setPrefSize(40,30);        btnDot.setPrefSize(40,30);        btn3.setPrefSize(40,30);        btn2.setPrefSize(40,30);        btn1.setPrefSize(40,30);        btn9.setPrefSize(40,30);        btn8.setPrefSize(40,30);        btn7.setPrefSize(40,30);        btn6.setPrefSize(40,30);        btn5.setPrefSize(40,30);        btn4.setPrefSize(40,30);        btn0.setPrefSize(80, 30);        btnEqual.setPrefSize(40,60);        //设置颜色        btnMC.setStyle("-fx-base: #fffafa");        btnMR.setStyle("-fx-base: #fff68f");        btnMS.setStyle("-fx-base: #ffefd5");        btnMa.setStyle("-fx-base: #ffe4e1");        btnMb.setStyle("-fx-base: #ffdead");        btnCancel.setStyle("-fx-base: #ffc1c1");        btnCE.setStyle("-fx-base: #ffb90f");        btnC.setStyle("-fx-base: #ffa54f");        btnOperator.setStyle("-fx-base: #ff8c00");        btnChecked.setStyle("-fx-base: #ff7f50");        btndivide.setStyle("-fx-base: #b4eeb4");        btnPercent.setStyle("-fx-base: #ffbbff");        btnMulti.setStyle("-fx-base: #cae1ff");        btnx.setStyle("-fx-base: #ffe1ff");        btnSub.setStyle("-fx-base: #e0eeee");        btnAdd.setStyle("-fx-base: #ebebeb");        btnDot.setStyle("-fx-base: #e6e6fa");        btn3.setStyle("-fx-base: #bbffff");        btn2.setStyle("-fx-base: #bbffff");        btn1.setStyle("-fx-base: #bbffff");        btn9.setStyle("-fx-base: #bbffff");        btn8.setStyle("-fx-base: #bbffff");        btn7.setStyle("-fx-base: #bbffff");        btn6.setStyle("-fx-base: #bbffff");        btn5.setStyle("-fx-base: #bbffff");        btn4.setStyle("-fx-base: #bbffff");        btn0.setStyle("-fx-base: #bbffff");        btnEqual.setStyle("-fx-base: #ffb5c5");        BorderPane pane = new BorderPane();        pane.setPadding(new Insets(5,5,5,5));        //上方显示窗口        Text text = new Text("\n\n0");        text.setFill(Color.BLACK);        text.setFont(Font.font("黑体"));        BorderPane windows = new BorderPane();        windows.setRight(text);        pane.setTop(windows);        //中间部分用GridPane               GridPane gpane = new GridPane();        gpane.add(btnMC,0,0);        gpane.add(btnMR,1,0);        gpane.add(btnMS,2,0);        gpane.add(btnMa,3,0);        gpane.add(btnMb,4,0);        gpane.add(btnCancel,0,1);        gpane.add(btnCE,1,1);        gpane.add(btnC,2,1);        gpane.add(btnOperator,3,1);        gpane.add(btnChecked,4,1);        gpane.add(btn7,0,2);        gpane.add(btn8,1,2);        gpane.add(btn9,2,2);        gpane.add(btndivide,3,2);        gpane.add(btnPercent,4,2);        gpane.add(btn4,0,3);        gpane.add(btn5,1,3);        gpane.add(btn6,2,3);        gpane.add(btnMulti,3,3);        gpane.add(btnx,4,3);        pane.setCenter(gpane);        //下方再分为左右两边        HBox bottom = new HBox();        //左边        BorderPane bpane = new BorderPane();        //左边上半部分        HBox hb = new HBox();        hb.getChildren().add(btn1);        hb.getChildren().add(btn2);        hb.getChildren().add(btn3);        hb.getChildren().add(btnSub);        bpane.setTop(hb);        //左边下半部分        HBox hb2 = new HBox();        hb2.getChildren().add(btn0);        hb2.getChildren().add(btnDot);        hb2.getChildren().add(btnAdd);        bpane.setCenter(hb2);        //添加        bottom.getChildren().add(bpane);        bottom.getChildren().add(btnEqual);        pane.setBottom(bottom);        //显示        Scene scene = new Scene(pane);        primaryStage.setTitle("计算器");        primaryStage.setScene(scene);        primaryStage.show();    }    public static void main(String[] args) {        launch(args);    }}




0 0