"这是一个基于J2SE(Java标准版)开发的简单计算器程序,它支持基本的加、减、乘、除、求平方根以及数字1到9和清除、退格等操作。" 在Java编程中,`j2se计算器`项目涉及到的核心知识点包括: 1. **Java GUI编程**:这个计算器是使用Java的Swing或 SWT库来创建图形用户界面的。在这个例子中,使用的是SWT(Standard Widget Toolkit),它是Eclipse项目的一部分,提供了一套与平台无关的API用于构建桌面应用程序。 2. **SWT库**:SWT是Java的一个GUI库,提供了多种组件,如按钮(Button)、文本框(Text)、标签(Label)等,用于创建用户界面。在这个程序中,我们可以看到创建了多个Button对象来代表计算器上的数字和运算符,一个Text对象用来显示计算结果。 3. **事件监听**:SWT中的控件可以通过添加事件监听器来响应用户的交互。例如,`SelectionAdapter`和`SelectionEvent`用于处理按钮被点击的事件。当用户点击按钮时,对应的`SelectionAdapter`会触发`SelectionEvent`,从而执行相应的计算逻辑。 4. **按钮逻辑**:每个按钮(button_1至button_16)代表一个数字或运算符,它们的实例变量用于在程序中引用这些按钮。按钮的点击事件通常会更新当前的计算表达式或结果。例如,数字按钮会添加数字到当前显示的文本,运算符按钮则会存储当前的数值并改变运算符状态。 5. **计算功能实现**:在代码中,可以看到有专门的按钮用于执行特定操作,比如`btnSqrt`代表求平方根,`btnx`可能是乘法操作,`btnCe`用于清除当前输入,`btnBack`可能用于退格。这些按钮的事件处理方法会包含对应的数学计算逻辑。 6. **内存管理**:程序中定义了`M1`和`M2`两个字符串变量,这可能是为了实现简单的内存功能,允许用户存储和调用之前的计算结果。 7. **状态管理**:`now`和`symbol`变量分别用于存储当前计算的数值和运算符。`now`表示当前显示的数字,`symbol`记录了上次点击的运算符,以便进行正确的计算。 8. **数据类型转换**:由于GUI控件通常与字符串交互,所以在实际计算时可能需要将字符串转换为数值类型(如`Integer.parseInt()`或`Double.parseDouble()`),然后进行数学运算。 9. **异常处理**:在实际编程中,应该考虑到用户可能会输入无效的数据,例如除以零或者输入非数字字符。因此,异常处理机制是必不可少的,以防止程序因为非法输入而崩溃。 通过这个项目,开发者可以学习到如何使用SWT构建用户界面,处理用户输入,执行计算逻辑,以及管理程序的状态。同时,也可以了解到Java GUI编程的基本流程和注意事项。
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Label;
public class calc {
protected Shell shell;
private Button button;
private Button button_1;
private Button button_2;
private Button button_3;
private Button button_4;
private Button button_5;
private Button button_6;
private Button button_7;
private Button button_8;
private Button button_9;
private Button button_10;
private Button button_11;
private Button button_12;
private Button button_13;
private Button button_14;
private Button button_16;
private Button btnSqrt;
private Button btnx;
private Button button_17;
private Button btnCe;
private Button btnBack;
private Text text;
private String M1 = "";
private String M2 = "";
private String now = "0";
private String Symbol = "";
private boolean IsDouble = false;
private boolean IsPositive = true;
private int status = 0;
private Label lblStatus;
private Label lblM;
private Label lblM_1;
剩余17页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)