java设计并实现一个类似于windows操作系统附件中自带的计算器的一款简单的计算器,要求界面美观,设计合理;带有常用的菜单并实现其功能;能完成加、减、乘、除等简单的计算,在下面写出其核心代码。

时间: 2024-05-05 14:20:34 浏览: 15
好的,我收到了你的要求,并理解了你的问题。下面是一个简单的 Java 计算器的核心代码,希望能够解决你的问题: ``` import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SimpleCalculator extends JFrame implements ActionListener { private JTextField result; private double operand1, operand2; private String operator; public SimpleCalculator() { setTitle("简单计算器"); setSize(260, 240); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); JMenuBar menubar = new JMenuBar(); setJMenuBar(menubar); JMenu file = new JMenu("文件"); menubar.add(file); JMenuItem itemExit = new JMenuItem("退出"); file.add(itemExit); itemExit.addActionListener(this); JMenu edit = new JMenu("编辑"); menubar.add(edit); JMenuItem itemCopy = new JMenuItem("复制"); JMenuItem itemPaste = new JMenuItem("粘贴"); edit.add(itemCopy); edit.add(itemPaste); itemCopy.addActionListener(this); itemPaste.addActionListener(this); result = new JTextField(); result.setEditable(false); add(result, BorderLayout.NORTH); JPanel panel = new JPanel(new GridLayout(4, 4)); add(panel, BorderLayout.CENTER); addButton(panel, "7"); addButton(panel, "8"); addButton(panel, "9"); addButton(panel, "/"); addButton(panel, "4"); addButton(panel, "5"); addButton(panel, "6"); addButton(panel, "*"); addButton(panel, "1"); addButton(panel, "2"); addButton(panel, "3"); addButton(panel, "-"); addButton(panel, "0"); addButton(panel, "."); addButton(panel, "="); addButton(panel, "+"); } private void addButton(Container container, String text) { JButton button = new JButton(text); button.addActionListener(this); container.add(button); } public void actionPerformed(ActionEvent event) { String action = event.getActionCommand(); if (action.equals("退出")) { System.exit(0); } else if (action.equals("复制")) { result.copy(); } else if (action.equals("粘贴")) { result.paste(); } else if (action.matches("[0-9]")) { result.setText(result.getText() + action); } else if (action.equals(".")) { if (!result.getText().contains(".")) { result.setText(result.getText() + "."); } } else if (action.equals("+")) { operand1 = Double.parseDouble(result.getText()); operator = "+"; result.setText(""); } else if (action.equals("-")) { operand1 = Double.parseDouble(result.getText()); operator = "-"; result.setText(""); } else if (action.equals("*")) { operand1 = Double.parseDouble(result.getText()); operator = "*"; result.setText(""); } else if (action.equals("/")) { operand1 = Double.parseDouble(result.getText()); operator = "/"; result.setText(""); } else if (action.equals("=")) { operand2 = Double.parseDouble(result.getText()); if (operator.equals("+")) { result.setText(Double.toString(operand1 + operand2)); } else if (operator.equals("-")) { result.setText(Double.toString(operand1 - operand2)); } else if (operator.equals("*")) { result.setText(Double.toString(operand1 * operand2)); } else { result.setText(Double.toString(operand1 / operand2)); } } } public static void main(String[] args) { SimpleCalculator calculator = new SimpleCalculator(); calculator.setVisible(true); } } ``` 这段代码实现了一个类似于 Windows 操作系统中自带的计算器的简单计算器。它有一个美观的界面,带有常用的菜单并且能够完成加、减、乘、除等简单的计算。 如果你还有其他问题或有需要进一步解释的地方,请随时告诉我,谢谢!

相关推荐

最新推荐

recommend-type

java实现计算器加法小程序(图形化界面)

主要介绍了Java实现图形化界面的计算器加法小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

基于Java swing组件实现简易计算器

主要介绍了基于Java swing组件实现简易计算器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
recommend-type

Java课程设计-简单计算器(含完整源代码)

Java课程设计,用JAVA语言实现一个简单地计算器,包含基本的加减乘除,清零等功能,内容中包含工程源代码下载的地址
recommend-type

设计一个程序来模拟一个简单的手持计算器

设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。 基本要求 程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式...
recommend-type

用C语言设计并实现一个一元稀疏多项式的简单计算器

数据结构的一个实验,用C语言设计并实现一个一元稀疏多项式的简单计算器 输入并建立多项式输出多项式,序列按指数降序排列多项式A(x)和B(x)相加,并建立多项式A(x)+B(x)多项式A(x)和B(x)相减,并建立多项式A(x)-B...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

HSV转为RGB的计算公式

HSV (Hue, Saturation, Value) 和 RGB (Red, Green, Blue) 是两种表示颜色的方式。下面是将 HSV 转换为 RGB 的计算公式: 1. 将 HSV 中的 S 和 V 值除以 100,得到范围在 0~1 之间的值。 2. 计算色相 H 在 RGB 中的值。如果 H 的范围在 0~60 或者 300~360 之间,则 R = V,G = (H/60)×V,B = 0。如果 H 的范围在 60~120 之间,则 R = ((120-H)/60)×V,G = V,B = 0。如果 H 的范围在 120~180 之间,则 R = 0,G = V,B =
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。