版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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.
2、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.Actio
3、nListener;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接口,并实现pub
4、lic void actionPerformed(ActionEvent e)方法private static final long serialVersionUID = 1L;/ serialVersionUID相当于java类的身份证, 默认为1L, serialVersionUID作用是序列化时保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性private JPanel jContentPane = null; / 创建面板对象, null代表为这些变量赋初值为空,即不分配内存空间,变量不指向任何地址。private是访问控制符,代表这些变量的访问级别为私有,私有级别只能在当前
5、类中进行访问, 这些(JPanel 、JTextArea 、JPanel、 JButton )是java中AWT(包)中的类,用能进行桌面级应用程序的开发,就像平时用的word,上面有各种文本框,菜单栏,工具栏按钮等等,这些都是对象private JPanel jPanel = null; /JPanel 作为一个容器,可以包容一些组件,然后将这个 JPanel 对象作为一个组件添加到另一个容器 (称作父容器) 中private JButton jButton = null; /9 JButton是用户进行计算时主要的使用工具,一般为其添加actionPerformed事件。private J
6、Button 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 j
7、Button9 = 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 jB
8、utton17 = 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
9、;/(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 JB
10、utton jButton33 = null;/(cos)private JButton jButton34 = null;/(十进制)private JButton jButton35 = null;/(tan)private JButton jButton36 = null;/(弧度)private JButton jButton37 = null;/(八进制)private JButton jButton38 = null;/(X2)private JButton jButton39 = null;/(X3)private JButton jButton40 = null;/(二进制)p
11、rivate JButton jButton41 = null;/(Xy)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 = nu
12、ll;/(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
13、 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;/帮助主题pri
14、vate 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() /使用priva
15、te 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.ad
16、dActionListener(new ActionListener() /相当于声明了一个实现了ActionListener接口的对象.(因为可以看到其中的方法都被重写实现了.)更多具体细节,可以参考java 匿名类的使用,就是把对象jButton 注册给事件监听者new ActionListener() Public void actionPerformed(ActionEvent ae) 说明一下new ActionListener() Public void actionPerformed(ActionEvent )是一个匿名内部类,用来实现对动作事件的处理public void ac
17、tionPerformed(ActionEvent e) /这是 ActionListener 中定义的方法,事件监听器,当定义的事件捕获以后就会执行这个方法里面的代码str+=9;jTextField.setText(str);/jTextField是api(Application Program Interface应用程序接口)里面得一个文本主键,要掉用它就要import实现接口,jtextfield文本框.用来建立文本框的,用户可以在文本框输入单行的文本。在Java Swing中的加“J”字头的文本输入框包括两种,单行文本输入框(jtextfield)和多行文本输入框(JTextArea
18、)。);/单击后变色jButton.addMouseListener(new MouseListener()/设置数字按钮1到9并添加监控,使其在发生鼠标事件时改变按钮颜色public void actionPerformed(MouseEvent e) /这是 MouseListener 中定义的方法,java 的事件监听器的一个,例如点击按钮、文本框里按下回车,就会调用这个里面的方法。jButton.setForeground(new Color(0,100,0);/Foreground指前背景色public void mouseClicked(MouseEvent e) /鼠标单击方法
19、(鼠标点击后)jButton.setForeground(new Color(0,150,100);public void mouseEntered(MouseEvent e) /鼠标进入组件方法(鼠标进入某个区域后)jButton.setForeground(new Color(0,0,250);public void mouseExited(MouseEvent e) /鼠标退出组件方法(鼠标离开某个区域后)jButton.setForeground(new Color(250,0,0);public void mousePressed(MouseEvent e) /鼠标按键按下后jBut
20、ton.setForeground(new Color(0,250,0);public void mouseReleased(MouseEvent e) /被按住的鼠标按键释放后jButton.setForeground(new Color(250,250,0););return jButton;private JButton getJButton1() /注册按钮if (jButton1 = null) jButton1 = new JButton();/实例化一个对象,给按钮添中符合.jButton1.setText(/);jButton1.setFont(new Font(楷体, Fon
21、t.BOLD, 30);jButton1.setForeground(new Color(0,150,100);jButton1.addActionListener(new ActionListener() /给jButton1添加一个事件侦听器new ActionListener(),当jButton被按下的时候,所需要发生的事情定义在new ActionListener()里public void actionPerformed(ActionEvent e) str=jTextField.getText();Operator=/;dataone=Double.parseDouble(str
22、);/表示将转换好的Double类型的数值赋值给dataone类str=;jTextField.setText(str););return jButton1;private JButton getJButton2() if (jButton2 = null) jButton2 = new JButton(sqrt);/开根号运算,定义jButton2 = new JButton(sqrt);对其设置监控,调用Math.sqrt()方法来实现开根号运算,并在文本框中输出结果jButton2.setFont(new Font(楷体, Font.BOLD, 30);/Font字体的意思,楷体,加粗,
23、字体号大小30jButton2.setForeground(new Color(0,0,200); jButton2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) double a=Double.parseDouble(jTextField.getText();/表示将转换好的Double类型的数值赋值给double类型的变量。double b;if(a0)jTextField.setText(负数不能开平方);elseb=Math.sqrt(a);jTextField.set
24、Text(Double.toString(b);/Double.toString(next() 将这个数 double 数转化成 String 类型 (字符串));return jButton2;private JButton getJButton3() if (jButton3 = null) jButton3 = new JButton();jButton3.setText(4);jButton3.setFont(new Font(楷体, Font.BOLD, 30);jButton3.setForeground(new Color(250,0,0);jButton3.setFocusab
25、le(false);jButton3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) str+=4;jTextField.setText(str););jButton3.addMouseListener(new MouseListener()public void actionPerformed(MouseEvent e) jButton3.setForeground(new Color(0,100,0);public void mouseClicked(MouseEvent e
26、) jButton3.setForeground(new Color(0,150,100);public void mouseEntered(MouseEvent e) jButton3.setForeground(new Color(0,0,250);public void mouseExited(MouseEvent e) jButton3.setForeground(new Color(250,0,0);public void mousePressed(MouseEvent e) jButton3.setForeground(new Color(0,250,0);public void
27、mouseReleased(MouseEvent e) jButton3.setForeground(new Color(250,250,0););return jButton3;private JButton getJButton4() if (jButton4 = null) jButton4 = new JButton();jButton4.setText(5);jButton4.setFont(new Font(楷体, Font.BOLD, 30);jButton4.setForeground(new Color(250,0,0);jButton4.setFocusable(false
28、);jButton4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) str+=5;jTextField.setText(str););jButton4.addMouseListener(new MouseListener()public void actionPerformed(MouseEvent e) jButton4.setForeground(new Color(0,100,0);public void mouseClicked(MouseEvent e) jButto
29、n4.setForeground(new Color(0,150,100);public void mouseEntered(MouseEvent e) jButton4.setForeground(new Color(0,0,250);public void mouseExited(MouseEvent e) jButton4.setForeground(new Color(250,0,0);public void mousePressed(MouseEvent e) jButton4.setForeground(new Color(0,250,0);public void mouseRel
30、eased(MouseEvent e) jButton4.setForeground(new Color(250,250,0););return jButton4;private JButton getJButton5() if (jButton5 = null) jButton5 = new JButton();jButton5.setText(6);jButton5.setFont(new Font(楷体, Font.BOLD, 30);jButton5.setForeground(new Color(250,0,0);jButton5.setFocusable(false);jButto
31、n5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) str+=6;jTextField.setText(str););jButton5.addMouseListener(new MouseListener()public void actionPerformed(MouseEvent e) jButton5.setForeground(new Color(0,100,0);public void mouseClicked(MouseEvent e) jButton5.setFo
32、reground(new Color(0,150,100);public void mouseEntered(MouseEvent e) jButton5.setForeground(new Color(0,0,250);public void mouseExited(MouseEvent e) jButton5.setForeground(new Color(250,0,0);public void mousePressed(MouseEvent e) jButton5.setForeground(new Color(0,250,0);public void mouseReleased(Mo
33、useEvent e) jButton5.setForeground(new Color(250,250,0););return jButton5;private JButton getJButton6() if (jButton6 = null) jButton6 = new JButton();jButton6.setText(*);jButton6.setFont(new Font(楷体, Font.BOLD, 30);jButton6.setForeground(new Color(0,150,100);jButton6.addActionListener(new ActionList
34、ener() public void actionPerformed(ActionEvent e) str=jTextField.getText();Operator=*;dataone=Double.parseDouble(str);str=;jTextField.setText(str););return jButton6;private JButton getJButton7() if (jButton7 = null) jButton7 = new JButton(%);/设置百分比按钮,jButton7 = new JButton(%);使用变量i1来存放从文本框中读出的数据并转换成
35、double类型,定义double类型变量z1,z1=i1/100实现求百分比运算,在使用jTextField.setText(Double.toString(z1)使其在文本框中输出结果jButton7.setFont(new Font(楷体, Font.BOLD, 30);jButton7.setForeground(new Color(0,0,200); jButton7.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) double i1=Double.parseDoubl
36、e(jTextField.getText();double z1=i1/100;jTextField.setText(Double.toString(z1););return jButton7;private JButton getJButton8() if (jButton8 = null) jButton8 = new JButton();jButton8.setText(1);jButton8.setFont(new Font(楷体, Font.BOLD, 30);jButton8.setForeground(new Color(250,0,0);jButton8.setFocusabl
37、e(false);jButton8.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) str+=1;jTextField.setText(str););jButton8.addMouseListener(new MouseListener()public void actionPerformed(MouseEvent e) jButton8.setForeground(new Color(0,100,0);public void mouseClicked(MouseEvent e)
38、 jButton8.setForeground(new Color(0,150,100);public void mouseEntered(MouseEvent e) jButton8.setForeground(new Color(0,0,250);public void mouseExited(MouseEvent e) jButton8.setForeground(new Color(250,0,0);public void mousePressed(MouseEvent e) jButton8.setForeground(new Color(0,250,0);public void m
39、ouseReleased(MouseEvent e) jButton8.setForeground(new Color(250,250,0););return jButton8;private JButton getJButton9() if (jButton9 = null) jButton9 = new JButton();jButton9.setText(7);jButton9.setFont(new Font(楷体, Font.BOLD, 30);jButton9.setForeground(new Color(250,0,0);jButton9.setFocusable(false)
40、;jButton9.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) str+=7;jTextField.setText(str););jButton9.addMouseListener(new MouseListener()public void actionPerformed(MouseEvent e) jButton9.setForeground(new Color(0,100,0);public void mouseClicked(MouseEvent e) jButton
41、9.setForeground(new Color(0,150,100);public void mouseEntered(MouseEvent e) jButton9.setForeground(new Color(0,0,250);public void mouseExited(MouseEvent e) jButton9.setForeground(new Color(250,0,0);public void mousePressed(MouseEvent e) jButton9.setForeground(new Color(0,250,0);public void mouseRele
42、ased(MouseEvent e) jButton9.setForeground(new Color(250,250,0););return jButton9;private JButton getJButton10() if (jButton10 = null) jButton10 = new JButton();jButton10.setText(8);jButton10.setFocusable(false);jButton10.setFont(new Font(楷体, Font.BOLD, 30);jButton10.setForeground(new Color(250,0,0);
43、jButton10.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) str+=8;jTextField.setText(str););jButton10.addMouseListener(new MouseListener()public void actionPerformed(MouseEvent e) jButton10.setForeground(new Color(0,100,0);public void mouseClicked(MouseEvent e) jButt
44、on10.setForeground(new Color(0,150,100);public void mouseEntered(MouseEvent e) jButton10.setForeground(new Color(0,0,250);public void mouseExited(MouseEvent e) jButton10.setForeground(new Color(250,0,0);public void mousePressed(MouseEvent e) jButton10.setForeground(new Color(0,250,0);public void mou
45、seReleased(MouseEvent e) jButton10.setForeground(new Color(250,250,0););return jButton10;private JButton getJButton11() if (jButton11 = null) jButton11 = new JButton();jButton11.setText(2);jButton11.setFont(new Font(楷体, Font.BOLD, 30);jButton11.setForeground(new Color(250,0,0);jButton11.setFocusable
46、(false);jButton11.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) str+=2;jTextField.setText(str););jButton11.addMouseListener(new MouseListener()public void actionPerformed(MouseEvent e) jButton11.setForeground(new Color(0,100,0);public void mouseClicked(MouseEvent
47、e) jButton11.setForeground(new Color(0,150,100);public void mouseEntered(MouseEvent e) jButton11.setForeground(new Color(0,0,250);public void mouseExited(MouseEvent e) jButton11.setForeground(new Color(250,0,0);public void mousePressed(MouseEvent e) jButton11.setForeground(new Color(0,250,0);public
48、void mouseReleased(MouseEvent e) jButton11.setForeground(new Color(250,250,0););return jButton11;private JButton getJButton12() if (jButton12 = null) jButton12 = new JButton();jButton12.setText(3);jButton12.setFont(new Font(楷体, Font.BOLD, 30);jButton12.setForeground(new Color(250,0,0);jButton12.setF
49、ocusable(false);jButton12.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) str+=3;jTextField.setText(str););jButton12.addMouseListener(new MouseListener()public void actionPerformed(MouseEvent e) jButton12.setForeground(new Color(0,100,0);public void mouseClicked(MouseEvent e) jButton12.setForeground(new Color(0,150,100);public void mouseEntered(MouseEvent e) jButton12.setForeground(new Color(0,0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 武侯“198”植绿项目成本管理:现状剖析与优化策略
- 航空航天知识普及与探索精神培养2026试题
- 正则环与SF-环:结构、性质及关系探究
- 歙县历史文化名城:保护与利用的探索与实践
- 欧盟反倾销法中非市场经济地位问题剖析与应对策略研究
- 欧债危机下欧洲央行独立性与货币政策有效性:挑战、变革与展望
- 欠发达地区航空市场拓展:东方航空差异化营销策略探究
- 橘青霉中Pci-veA基因的克隆鉴定及特性解析:开启真菌调控研究新视野
- 2026年建筑工程监理考试试题及答案
- 模板法构筑微-纳复合材料:制备、性能与应用的深度探究
- HG/T 20686-2024 化工企业电气设计图形符号和文字代码统一规定(正式版)
- (高清版)DZT 0208-2020 矿产地质勘查规范 金属砂矿类
- 预制空心板梁吊装施工方案
- 社会调查与研究方法课件
- 平安中国建设基本知识讲座
- 呆滞物料管理规定
- 2023年安徽省淮南市招聘专职消防员37人笔试参考题库(共500题)答案详解版
- AB-PLC-5000-编程基础指令例说明
- 氯碱企业涉氯安全风险隐患排查指南(试行)
- 港口与航道工程管理与实务
- 内蒙古自治区级储备粮油轮换管理办法
评论
0/150
提交评论