import javax.swing.*;// 把 javax包里面的swing包里面的所有东西引进来import java.awt.*;// 导入awt包里的所有java类import java.awt.event.*;//导入包eventimport java.text.DecimalFormat;// 处理文本、日期、数字和消息的类和接口import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.awt.BasicStroke;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.GridLayout;import java.awt.Image;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.geom.Ellipse2D;import java.awt.geom.Line2D;import java.awt.geom.Point2D;public class biaozhunjisuanqi extends JFrame implements ActionListener {// public代表该类公有//class声明一个类// biaozhunjisuanqi为类名// extends 是继承类//implements代表实现接口//窗体名称biaozhunjisuanqi继承JFrame类和ActionListener接口,并实现public void actionPerformed(ActionEvent e){}方法private static final long serialVersionUID = 1L;// serialVersionUID相当于java类的身份证, 默认为1L, serialVersionUID作用是序列化时保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性private JPanel jContentPane = null; // 创建面板对象, null代表为这些变量赋初值为空,即不分配内存空间,变量不指向任何地址。
private是访问控制符,代表这些变量的访问级别为私有,私有级别只能在当前类中进行访问, 这些(JPanel 、JTextArea 、JPanel、 JButton )是java中AWT(包)中的类,用能进行桌面级应用程序的开发,就像平时用的word,上面有各种文本框,菜单栏,工具栏按钮等等,这些都是对象private JPanel jPanel= null; //JPanel 作为一个容器,可以包容一些组件,然后将这个 JPanel对象作为一个组件添加到另一个容器 (称作父容器) 中private JButton jButton = null; //9 JButton是用户进行计算时主要的使用工具,一般为其添加actionPerformed事件。
private JButton jButton1 = null;// (/)private JButton jButton2 = null;//(sqrt)private JButton jButton3 = null;//(4)private JButton jButton4 = null;//(5)private JButton jButton5 = null;//(6)private JButton jButton6 = null;//(*)private JButton jButton7 = null;//(%)private JButton jButton8 = null;//(1)private JButton jButton9 = null;//(7)private JButton jButton10 = null;//(8)private JButton jButton11 = null;//(2)private JButton jButton12 = null;//(3)private JButton jButton13 = null;//(-)private JButton jButton14 = null;//(1/x)private JButton jButton15 = null;//(0)private JButton jButton16 = null;//(+/-)private JButton jButton17 = null;//(.)private JButton jButton18 = null;//(+)private JButton jButton19 = null;//(=)private JTextField jTextField = null;// JTextField是一个的文本框private JTextField textMemory= null;//作为输入M用private JButton jButton20 = null;//(MC)private JButton jButton21 = null;//(MR)private JButton jButton22 = null;//(MS)private JButton jButton23 = null;//(M+)private JButton jButton24 = null;//(Backspace)private JButton jButton25 = null;//(CE)private JButton jButton26 = null;//(C)double memoryd; //使用内存中存储的数字int memoryi;//科学计算器按钮private JButton jButton31 = null;//(十六进制)private JButton jButton32 = null;//(sin)private JButton jButton33 = null;//(cos)private JButton jButton34 = null;//(十进制)private JButton jButton35 = null;//(tan)private JButton jButton36 = null;//(弧度)private JButton jButton37 = null;//(八进制)private JButton jButton38 = null;//(X^2)private JButton jButton39 = null;//(X^3)private JButton jButton40 = null;//(二进制)private JButton jButton41 = null;//(X^y)private JButton jButton42 = null;//(n!)private JButton jButton43 = null;//(Pi)private JButton jButton44 = null;//(ln)private JButton jButton45 = null;//(log10)//A-Fprivate JButton jButton46 = null;//(A)private JButton jButton47 = null;//(B)private JButton jButton48 = null;//(C)private JButton jButton49 = null;//(D)private JButton jButton50 = null;//(E)private JButton jButton51 = null;//(F)private JPanel jPanel1 = null;private JPanel jContentPane1 = null;private String str=""; //声明私有字符串变量strprivate double dataone;//变量名用来存储运算的数据private char Operator='A'; //存放运算符private boolean pointIsTyped=false; //判断输入的数据是否是小数private JMenuBar jJMenuBar = null;private JMenu jMenu = null;// JMenu定义菜单编辑键private JMenuItem jMenuItem = null;// JMenuItem菜单中项的实现复制(Ctrl+C)private JMenuItem jMenuItem1 = null;//粘贴(Ctrl+V)private JMenu jMenu1 = null;//定义查看菜单private JMenuItem jMenuItem3 = null;//帮助主题private JMenuItem jMenuItem4 = null;//关于计算器private JMenu jMenu2 = null;//定义帮助菜单private JMenuItem jMenuItem5 = null;//标准型private JMenuItem jMenuItem6 = null;//科学型private JMenuItem jMenuItem7 = null;//勾股定理private JMenuItem jMenuItem8 = null;//解一元二次方程DecimalFormat df;//保留小数位数private JButton getJButton() {//使用private JButton getJButton()方法添加按钮并给按钮命名if (jButton == null) {jButton = new JButton();jButton.setText("9");jButton.setFont(new Font("楷体", Font.BOLD, 30));// 使用jButton.setFont(new Font("楷体", Font.BOLD, 30))方法设置按钮的字体jButton.setForeground(new Color(250,0,0)); //使用方法设置按钮的字体颜色红色、绿色和蓝色jButton.setFocusable(false);jButton.addActionListener(new ActionListener() {//相当于声明了一个实现了ActionListener接口的对象..(因为可以看到其中的方法都被重写实现了.)更多具体细节,可以参考java 匿名类的使用,就是把对象jButton 注册给事件监听者new ActionListener(){ Public void actionPerformed(ActionEvent ae){}} 说明一下new ActionListener() { Public void actionPerformed(ActionEvent ){}}是一个匿名内部类,用来实现对动作事件的处理public void actionPerformed(ActionEvent e) {//这是 ActionListener 中定义的方法,事件监听器,当定义的事件捕获以后就会执行这个方法里面的代码str+="9";jTextField.setText(str);//jTextField是api(Application Program Interface应用程序接口)里面得一个文本主键,要掉用它就要import实现接口,jtextfield文本框...用来建立文本框的,用户可以在文本框输入单行的文本。