使用Swing和AWT构建的Java计算器

需积分: 15 2 下载量 187 浏览量 更新于2024-09-17 收藏 140KB DOC 举报
"Java计算器应用,使用Swing和AWT组件库实现,支持基本运算符及根号功能。" 在Java编程中,Swing和AWT是两种常用的图形用户界面(GUI)工具包,用于创建桌面应用程序。Swing是AWT的扩展,提供了更丰富的组件和更现代的外观。在这个Java计算器的例子中,开发者使用了Swing来构建用户界面,同时也可能利用了一些AWT的基础组件。 首先,我们看到`SunnyCalculator`类实现了`ActionListener`接口,这表明它会处理用户与界面的交互事件,如按钮点击。在GUI程序中,`ActionListener`用于监听和响应用户的动作,比如按下按钮或选择菜单项。 在类中,定义了一些关键变量,如`JFrame f`,表示计算器的窗口;`JMenuItem`、`JTextField`和各种`JButton`对象,它们分别代表菜单项、显示计算结果的文本框以及数字和运算符按钮。`isDouble`变量用于判断当前输入是否为实数,`opFlag`和`flag`等变量则用于跟踪运算状态。 `t1`, `t2`, `t3`和`result`是用于存储计算过程中的临时值的双精度浮点数。`opflag1`, `opflag2`和`flag`用于记录运算符,确保正确执行算术操作的顺序。`preOp`和`currentOp`用于保存前一个和当前的运算符,`op1`和`op2`存储运算数,`n3`可能用于处理除法和根号运算。 代码中还创建了一个`JMenuBar`对象,这是菜单栏,包含“编辑”(`mEdit`)、“视图”(`mView`)和“帮助”(`mHelp`)子菜单。菜单项如`mCopy`和`mPaste`可能用于复制和粘贴操作,而`JTextField tResult`用于显示计算结果。 在`SunnyCalculator`的构造函数中,创建了计算器窗口并设置了布局。接着,创建了菜单、菜单项和其他组件,并将它们添加到窗口中。最后,通过实现`ActionListener`接口的`actionPerformed`方法,为按钮分配了相应的事件处理逻辑。 这个Java计算器能够处理基本的加法、减法、乘法、除法和开根号操作。当用户与界面交互时,这些操作将被转换为对应的数学计算,并在结果文本框中显示出来。通过结合Swing和AWT,开发者可以构建出具有丰富交互性的图形界面,提供给用户友好的计算体验。