(1)本程序实现了一个实用的计算器程序,具体功能实现如下:
A. 实现实用计算器的简易界面。
B. 实现按钮的监听。
C.至少有加、减、乘、除、清除5种运算。
D.可以连续运算,并能按照优先级运算。
(2)本程序为练习程序,基本要求如下:
1. 深入学习并掌握Java的基本语法;
2. 掌握Java运算符的使用方法及优先级;
3. 掌握Java按钮监听的方法;
4. 掌握Java Swing的GUI图形用户界面编程设计;
5. 熟练掌握Java软件开发的基本过程。
(3)程序源码:
1.界面设计部分:(可以参照我的《JAVA-关于计算器的简单图形界面设计例子(不实现功能)》这篇内容)
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.Timer;
import javax.swing.WindowConstants;
public class TingerCalc extends JFrame {
// 结果重置标致
private boolean resultFlag = false;
//显示文本
private String displayText= "当前时间";
// 创建文本域,放置输入数据和结果
JTextArea JText = new JTextArea();
// 创建文本域,放置输入数据和结果
JTextArea JTextResult = new JTextArea();
public TingerCalc() {
// 创建窗口
final JFrame JWindow = new JFrame("计算器");
// 设置为流动布局,居中
JWindow.setLayout(new FlowLayout(1,6,6));
// 设置窗体尺寸为宽350 高 320
JWindow.setSize(350,360);
// 设置窗口相对于指定组件的位置。如果组件当前未显示或者 null,则此窗口将置于屏幕的中央。
JWindow.setLocationRelativeTo(null);
//用户单击窗口的关闭按钮时程序执行的操作 WindowConstants.EXIT_ON_CLOSE 代表关闭退出
JWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
// 不可以改变大小
JWindow.setResizable(false);
// 设置字体
Font font = new Font("宋体", Font.PLAIN, 20);
// 创建容器,存放显示算式框和结果框,采用流式布局 居中显示 水平间距为12 水平间距为0
JPanel Panel = new JPanel(new FlowLayout(FlowLayout.CENTER, 12, 0));
//将文本框 设置字体
JText.setFont(font);
// 设置大小
JText.setPreferredSize(new Dimension(200,30));
// 设置不可编辑
// JText.setEditable(false);
JText.addKeyListener(new MyKeyListener());
// 添加到容器中
Panel.add(JText);
//将文本框 设置字体
JTextResult.setFont(font);
// 设置大小
JTextResult.setPrefer