设计一个 JavaFX 计算器的静态界面

 描述: 在本次编程任务中,您需要使用 JavaFX 框架设计一个计算器应用程序的静态界

面。请确保计算器界面美观、易用且符合以下要求:
要求:
1. 计算器的尺寸应适中,以方便用户在各种屏幕尺寸上使用。
2. 计算器的按钮应呈长方形,以便用户更容易点击。
3. 按钮的布局应清晰易懂,遵循常见的计算器布局。例如,将数字按钮按照 3x3 的
网格排列,将加、减、乘、除等运算符按钮放在数字按钮的右侧。
4. 计算器的颜色设置应保持视觉上的区分。例如,可以将数字按钮设置为浅色背
景,运算符按钮设置为深色背景,以便用户快速识别。
5. 计算器应具备一个清楚易读的文本框,用于显示用户输入的数字和计算结果。建
议将文本框字体设置更大些,以便用户在屏幕上轻松阅读。
提示:
1. 通过将组件添加到 GridPane 中的适当行和列,你可以轻松地实现清晰的布局。
2. 使用 JavaFX 的预定义控件,如 Button、TextField 和 Label,以便更好地满足项目需
求。

 

import javafx.application.Application;
import javafx.geometry.*;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class Main extends Application{
    public void start(Stage primaryStage){

        BorderPane pane=new BorderPane();//边界窗格

        GridPane gPane=new GridPane();//网络窗格
        gPane.setAlignment(Pos.CENTER);
        gPane.setHgap(5);//元素行间间隔
        gPane.setVgap(5);//元素列间间隔
        gPane.setPadding(new Insets(10,10,10,10));//边框

        TextField t=new TextField();//显示框
        t.setFont(Font.font(20));//设置字体大小
        t.setMinHeight(60);
        t.setMinWidth(600);
        pane.setTop(t);//放置在边界窗格的上方

        pane.setBottom(gPane);//将网络窗格放在边界窗格下方

        Button c=new Button("C");//按钮C
        c.setFont(Font.font(40));//设置字体大小
        c.setMinHeight(50);//最小高度
        c.setMinWidth(140);//最小宽度
        gPane.add(c,0,1);
        c.setStyle("-fx-background-color: orange");//设置按钮颜色*************************************

        Button ce=new Button("CE");//按钮CE
        ce.setFont(Font.font(40));
        ce.setMinHeight(50);
        ce.setMinWidth(140);
        ce.setStyle("-fx-background-color: orange");
        gPane.add(ce,1,1);

        Button kl=new Button("(");//按钮(
        kl.setFont(Font.font(40));
        kl.setMinHeight(50);
        kl.setMinWidth(140);
        kl.setStyle("-fx-background-color: orange");
        gPane.add(kl,2,1);

        Button kr=new Button(")");//按钮)
        kr.setFont(Font.font(40));
        kr.setMinHeight(50);
        kr.setMinWidth(140);
        kr.setStyle("-fx-background-color: orange");
        gPane.add(kr,3,1);

        Button j=new Button("7");//按钮7
        j.setFont(Font.font(40));
        j.setMinHeight(50);
        j.setMinWidth(140);
        gPane.add(j,0,2);

        Button e=new Button("8");//按钮8
        e.setFont(Font.font(40));
        e.setMinHeight(50);
        e.setMinWidth(140);
        gPane.add(e,1,2);

        Button s=new Button("9");//按钮9
        s.setFont(Font.font(40));
        s.setMinHeight(50);
        s.setMinWidth(140);
        gPane.add(s,2,2);

        Button x=new Button("/");//按钮/
        x.setFont(Font.font(40));
        x.setMinHeight(50);
        x.setMinWidth(140);
        x.setStyle("-fx-background-color: cyan");
        gPane.add(x,3,2);

        Button a=new Button("4");//按钮4
        a.setFont(Font.font(40));
        a.setMinHeight(50);
        a.setMinWidth(140);
        gPane.add(a,0,3);

        Button f=new Button("5");//按钮5
        f.setFont(Font.font(40));
        f.setMinHeight(50);
        f.setMinWidth(140);
        gPane.add(f,1,3);

        Button l=new Button("6");//按钮6
        l.setFont(Font.font(40));
        l.setMinHeight(50);
        l.setMinWidth(140);
        gPane.add(l,2,3);

        Button z=new Button("*");//按钮*
        z.setFont(Font.font(40));
        z.setMinHeight(50);
        z.setMinWidth(140);
        z.setStyle("-fx-background-color: cyan");
        gPane.add(z,3,3);

        Button y=new Button("1");//按钮1
        y.setFont(Font.font(40));
        y.setMinHeight(50);
        y.setMinWidth(140);
        gPane.add(y,0,4);

        Button r=new Button("2");//按钮2
        r.setFont(Font.font(40));
        r.setMinHeight(50);
        r.setMinWidth(140);
        gPane.add(r,1,4);

        Button m=new Button("3");//按钮3
        m.setFont(Font.font(40));
        m.setMinHeight(50);
        m.setMinWidth(140);
        gPane.add(m,2,4);

        Button q=new Button("-");//按钮-
        q.setFont(Font.font(40));
        q.setMinHeight(50);
        q.setMinWidth(140);
        q.setStyle("-fx-background-color: cyan");
        gPane.add(q,3,4);

        Button d=new Button(".");//按钮.
        d.setFont(Font.font(40));
        d.setMinHeight(50);
        d.setMinWidth(140);
        gPane.add(d,0,5);

        Button i=new Button("0");//按钮0
        i.setFont(Font.font(40));
        i.setMinHeight(50);
        i.setMinWidth(140);
        gPane.add(i,1,5);

        Button u=new Button("=");//按钮=
        u.setFont(Font.font(40));
        u.setMinHeight(50);
        u.setMinWidth(140);
        gPane.add(u,2,5);

        Button b=new Button("+");//按钮+
        b.setFont(Font.font(40));
        b.setMinHeight(50);
        b.setMinWidth(140);
        b.setStyle("-fx-background-color: cyan");
        gPane.add(b,3,5);

        Scene scene=new Scene(pane);
        primaryStage.setTitle("Calculator");
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

 

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值