使用Java Swing实现计算器程序

4星 · 超过85%的资源 需积分: 10 1 下载量 175 浏览量 更新于2024-09-11 收藏 26KB DOCX 举报
"这篇Java编程文章介绍了如何使用Swing库创建一个简单的图形用户界面(GUI)计算器。作者作为新手,分享了他们的学习过程和代码实现。" 在Java编程中,Swing是一个用于构建桌面应用程序的图形用户界面(GUI)工具包。它包含了一系列组件,如按钮、文本框等,便于开发者创建交互式的应用。本示例中,作者利用Swing来设计一个基本的计算器,其功能包括基本的加、减、乘、除运算。 首先,`Calculator`类继承自`JFrame`,这是Swing中的顶级容器,相当于窗口。`JFrame`可以包含其他组件,如`JTextField`(文本框)和`JButton`(按钮)。在`Calculator`类中,`txtResult`被声明为一个`JTextField`,用于显示计算结果。`txtResult`被设置为不可获取焦点,这意味着用户无法通过键盘输入,只能通过点击按钮进行计算。 接下来,作者定义了一个字符数组`name`,包含了计算器上的所有数字和运算符。然后,创建了一个与`name`数组长度相匹配的`JButton`数组`button`,每个按钮将对应`name`数组中的一个字符。这样,当用户点击按钮时,相应的数字或运算符会被处理。 为了存储计算结果,定义了一个`double`类型的变量`result`,初始化为0。同时,`lastCommand`字符串用来保存上一次的操作符,以便进行连续的数学运算。`start`布尔变量用于判断是否开始了新的计算,初始值为`true`,这在处理连续运算时非常关键。 在`Calculator`的构造函数中,`txtResult`被添加到`JFrame`的北部(`BorderLayout.NORTH`),并创建了一个`JPanel`对象`p`,使用`GridLayout`布局,将其设置为4行4列。这将确保按钮在网格中均匀分布。之后,`for`循环用于填充`button`数组,并将它们添加到面板`p`上。每个按钮都有一个`ActionListener`,监听按钮的点击事件,执行相应的计算逻辑。 在实际的计算逻辑部分,作者会实现`ActionListener`接口或者使用匿名内部类来处理按钮的点击事件。通常,每个按钮的点击事件会触发一个`ActionEvent`,通过`actionPerformed`方法进行响应。在这里,`actionPerformed`方法会根据点击的按钮更新`txtResult`的显示,执行相应的数学运算,并更新`result`和`lastCommand`的值。 最后,将面板`p`添加到`JFrame`的中心(`BorderLayout.CENTER`),设置窗口的大小和可见性,完成计算器的基本布局和功能实现。 这个Java计算器项目是一个很好的学习Swing和GUI编程的起点。它涵盖了组件创建、事件监听、布局管理等多个基础概念,对于初学者来说是一个不错的实践项目。通过这样的练习,开发者能够更好地理解Java GUI编程的基本原理,并逐步提升自己的编程能力。