java编写的简单计算器_Java 编写简单的计算器(可视化)

这个博客展示了如何使用JavaFX编写一个简单的计算器程序,具备加、减、乘、除功能,并提供了源代码示例。计算器界面包含数字按钮、运算符按钮及清除和关闭功能。
摘要由CSDN通过智能技术生成

编写一个简单的计算器能够计算加减乘除法

运行结果:

4301380d2a9c91483c61b5babebf970b.png

package javafxTest;

import javafx.application.Application;

import javafx.event.ActionEvent;

import javafx.event.EventHandler;

import javafx.scene.Scene;

import javafx.scene.control.*;

import javafx.scene.image.Image;

import javafx.scene.layout.*;

import javafx.scene.text.Font;

import javafx.stage.Stage;

//import javafx.event.ActionEvent;

//import javafx.event.EventHandler;

public class Calculator extends Application {

double left;

double right;

char op;

@Override // Override the start method in the Application class

public void start(Stage primaryStage) {

// Create a border pane

primaryStage.getIcons().add(new Image("file:F:\\预科\\timg.jpg"));//左上角的图标

BorderPane pane = new BorderPane();

// Place nodes in the pane

TextField input = new TextField();

input.setPrefHeight(40);

input.setFont(Font.font("",25));

pane.setTop(input);

AnchorPane gridPane = new AnchorPane();

// Place nodes in the pane

Button[] buttonGroup = {

new Button("1") ,new Button("2"),new Button("3"),new Button("4"),

new Button("5") ,new Button("6"),new Button("7"),new Button("8"),

new Button("9") ,new Button("0"),new Button("."),new Button("/"),

new Button("+") ,new Button("-"),new Button("*"),new Button("="),

new Button("Ac"),new Button("Close")};

gridPane.getChildren().addAll(buttonGroup);

for(int i=0; i{

Button btn = (Button) e.getSource();

switch (btn.getText()) {

case "1": case "2": case "3": case "4": case "5": case "6":

case "7": case "8": case "9": case "0": case ".":

input.setText( input.getText()+ btn.getText()) ; break;

case "+" : case "-" : case "*" : case "/" :

left = Double.parseDouble(input.getText()) ;

op = btn.getText().charAt(0);

input.setText("") ;

break;

case "=":

right = Double.parseDouble(input.getText()) ;

switch(op) {

case '+' : input.setText(Double.toString(left+right)); break;

case '-' : input.setText(Double.toString(left-right)); break;

case '*' : input.setText(Double.toString(left*right)); break;

case '/' : input.setText(Double.toString(left/right)); break;

}

}

}

);

}

pane.setCenter( gridPane);

// Create a scene and place it in the stage

Scene scene = new Scene(pane);

primaryStage.setTitle("计算器"); // Set the stage title

primaryStage.setScene(scene); // Place the scene in the stage

primaryStage.setHeight(325);

primaryStage.setWidth(265);

primaryStage.setResizable(false);//固定窗口大小不能改变

primaryStage.show(); // Display the stage

//Ac 按键 添加清空输入框

buttonGroup[16].setOnAction(new EventHandler() {

@Override

public void handle(ActionEvent arg0) {

input.setText("");

}

});

//close 按钮添加关闭事件

buttonGroup[17].setOnAction(new EventHandler() {

@Override

public void handle(ActionEvent arg0) {

primaryStage.close();

}

});

}

public static void main(String[] args)

{

launch(args);

}

}

备注:代码里有很多可以优化的地方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值