完整版java毕业课程设计吕磊代码1科学计算器.docx
- 文档编号:26694146
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:75
- 大小:38.17KB
完整版java毕业课程设计吕磊代码1科学计算器.docx
《完整版java毕业课程设计吕磊代码1科学计算器.docx》由会员分享,可在线阅读,更多相关《完整版java毕业课程设计吕磊代码1科学计算器.docx(75页珍藏版)》请在冰豆网上搜索。
完整版java毕业课程设计吕磊代码1科学计算器
importjavax.swing.*;把javax包里面的swing包里面的所有东西引进来
importjava.awt.*;导入awt包里的所有java类
importjava.awt.event.*;导入包event
importjava.text.DecimalFormat;处理文本、日期、数字和消息的类和接口
importjava.awt.Color;
importjava.awt.Dimension;
importjava.awt.Font;
importjava.awt.GridLayout;
importjava.awt.Image;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
publicclassbiaozhunjisuanqiextendsJFrameimplementsActionListener{public代表该类公有
class声明一个类
biaozhunjisuanqi为类名
extends是继承类
implements代表实现接口
窗体名称biaozhunjisuanqi继承JFrame类和ActionListener接口,并实现publicvoidactionPerformed(ActionEvente){}方法
privatestaticfinallongserialVersionUID=1L;serialVersionUID相当于java类的身份证,默认为1L,serialVersionUID作用是序列化时保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性
privateJPaneljContentPane=null;创建面板对象,null代表为这些变量赋初值为空,即不分配内存空间,变量不指向任何地址。
private是访问控制符,代表这些变量的访问级别为私有,私有级别只能在当前类中进行访问,这些(JPanel、JTextArea、JPanel、JButton)是java中AWT(包)中的类,用能进行桌面级应用程序的开发,就像平时用的word,上面有各种文本框,菜单栏,工具栏按钮等等,这些都是对象
privateJPaneljPanel=null;JPanel作为一个容器,可以包容一些组件,然后将这个JPanel对象作为一个组件添加到另一个容器(称作父容器)中
privateJButtonjButton=null;9JButton是用户进行计算时主要的使用工具,一般为其添加actionPerformed事件。
privateJButtonjButton1=null;()
privateJButtonjButton2=null;(sqrt)
privateJButtonjButton3=null;(4)
privateJButtonjButton4=null;(5)
privateJButtonjButton5=null;(6)
privateJButtonjButton6=null;(*)
privateJButtonjButton7=null;(%)
privateJButtonjButton8=null;
(1)
privateJButtonjButton9=null;(7)
privateJButtonjButton10=null;(8)
privateJButtonjButton11=null;
(2)
privateJButtonjButton12=null;(3)
privateJButtonjButton13=null;(-)
privateJButtonjButton14=null;(1x)
privateJButtonjButton15=null;(0)
privateJButtonjButton16=null;(+-)
privateJButtonjButton17=null;(.)
privateJButtonjButton18=null;(+)
privateJButtonjButton19=null;(=)
privateJTextFieldjTextField=null;JTextField是一个的文本框
privateJTextFieldtextMemory=null;作为输入M用
privateJButtonjButton20=null;(MC)
privateJButtonjButton21=null;(MR)
privateJButtonjButton22=null;(MS)
privateJButtonjButton23=null;(M+)
privateJButtonjButton24=null;(Backspace)
privateJButtonjButton25=null;(CE)
privateJButtonjButton26=null;(C)
doublememoryd;使用内存中存储的数字
intmemoryi;
科学计算器按钮
privateJButtonjButton31=null;(十六进制)
privateJButtonjButton32=null;(sin)
privateJButtonjButton33=null;(cos)
privateJButtonjButton34=null;(十进制)
privateJButtonjButton35=null;(tan)
privateJButtonjButton36=null;(弧度)
privateJButtonjButton37=null;(八进制)
privateJButtonjButton38=null;(X^2)
privateJButtonjButton39=null;(X^3)
privateJButtonjButton40=null;(二进制)
privateJButtonjButton41=null;(X^y)
privateJButtonjButton42=null;(n!
)
privateJButtonjButton43=null;(Pi)
privateJButtonjButton44=null;(ln)
privateJButtonjButton45=null;(log10)
A-F
privateJButtonjButton46=null;(A)
privateJButtonjButton47=null;(B)
privateJButtonjButton48=null;(C)
privateJButtonjButton49=null;(D)
privateJButtonjButton50=null;(E)
privateJButtonjButton51=null;(F)
privateJPaneljPanel1=null;
privateJPaneljContentPane1=null;
privateStringstr="";声明私有字符串变量str
privatedoubledataone;变量名用来存储运算的数据
privatecharOperator='A';存放运算符
privatebooleanpointIsTyped=false;判断输入的数据是否是小数
privateJMenuBarjJMenuBar=null;
privateJMenujMenu=null;JMenu定义菜单编辑键
privateJMenuItemjMenuItem=null;JMenuItem菜单中项的实现复制(Ctrl+C)
privateJMenuItemjMenuItem1=null;粘贴(Ctrl+V)
privateJMenujMenu1=null;定义查看菜单
privateJMenuItemjMenuItem3=null;帮助主题
privateJMenuItemjMenuItem4=null;关于计算器
privateJMenujMenu2=null;定义帮助菜单
privateJMenuItemjMenuItem5=null;标准型
privateJMenuItemjMenuItem6=null;科学型
privateJMenuItemjMenuItem7=null;勾股定理
privateJMenuItemjMenuItem8=null;解一元二次方程
DecimalFormatdf;保留小数位数
privateJButtongetJButton(){使用privateJButtongetJButton()方法添加按钮并给按钮命名
if(jButton==null){
jButton=newJButton();
jButton.setText("9");
jButton.setFont(newFont("楷体",Font.BOLD,30));使用jButton.setFont(newFont("楷体",Font.BOLD,30))方法设置按钮的字体
jButton.setForeground(newColor());使用方法设置按钮的字体颜色红色、绿色和蓝色
jButton.setFocusable(false);
jButton.addActionListener(newActionListener(){相当于声明了一个实现了ActionListener接口的对象..(因为可以看到其中的方法都被重写实现了.)更多具体细节,可以参考java匿名类的使用,就是把对象jButton注册给事件监听者newActionListener(){PublicvoidactionPerformed(ActionEventae){}}说明一下newActionListener(){PublicvoidactionPerformed(ActionEvent){}}是一个匿名内部类,用来实现对动作事件的处理
publicvoidactionPerformed(ActionEvente){这是ActionListener中定义的方法,事件监听器,当定义的事件捕获以后就会执行这个方法里面的代码
str+="9";
jTextField.setText(str);jTextField是api(ApplicationProgramInterface应用程序接口)里面得一个文本主键,要掉用它就要import实现接口,jtextfield文本框...用来建立文本框的,用户可以在文本框输入单行的文本。
在JavaSwing中的加“J”字头的文本输入框包括两种,单行文本输入框(jtextfield)和多行文本输入框(JTextArea)。
}
});
单击后变色
jButton.addMouseListener(newMouseListener(){设置数字按钮1到9并添加监控,使其在发生鼠标事件时改变按钮颜色
publicvoidactionPerformed(MouseEvente){这是MouseListener中定义的方法,java的事件监听器的一个,例如点击按钮、文本框里按下回车,就会调用这个里面的方法。
jButton.setForeground(newColor());Foreground指前背景色
}
publicvoidmouseClicked(MouseEvente){鼠标单击方法(鼠标点击后)
jButton.setForeground(newColor());
}
publicvoidmouseEntered(MouseEvente){鼠标进入组件方法(鼠标进入某个区域后)
jButton.setForeground(newColor());
}
publicvoidmouseExited(MouseEvente){鼠标退出组件方法(鼠标离开某个区域后)
jButton.setForeground(newColor());
}
publicvoidmousePressed(MouseEvente){鼠标按键按下后
jButton.setForeground(newColor());
}
publicvoidmouseReleased(MouseEvente){被按住的鼠标按键释放后
jButton.setForeground(newColor());
}
}
);
}
returnjButton;
}
privateJButtongetJButton1(){注册按钮
if(jButton1==null){
jButton1=newJButton();实例化一个对象,给按钮添中符合.
jButton1.setText("");
jButton1.setFont(newFont("楷体",Font.BOLD,30));
jButton1.setForeground(newColor());
jButton1.addActionListener(newActionListener(){给jButton1添加一个事件侦听器newActionListener(),当jButton被按下的时候,所需要发生的事情定义在newActionListener()里
publicvoidactionPerformed(ActionEvente){
str=jTextField.getText();
Operator='';
dataone=Double.parseDouble(str);表示将转换好的Double类型的数值赋值给dataone类
str="";
jTextField.setText(str);
}
});
}
returnjButton1;
}
privateJButtongetJButton2(){
if(jButton2==null){
jButton2=newJButton("sqrt");开根号运算,定义jButton2=newJButton("sqrt");对其设置监控,调用Math.sqrt()方法来实现开根号运算,并在文本框中输出结果
jButton2.setFont(newFont("楷体",Font.BOLD,30));Font字体的意思,楷体,加粗,字体号大小30
jButton2.setForeground(newColor());
jButton2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
doublea=Double.parseDouble(jTextField.getText());表示将转换好的Double类型的数值赋值给double类型的变量。
doubleb;
if(a<0){
jTextField.setText("负数不能开平方");
}
else{
b=Math.sqrt(a);
jTextField.setText(Double.toString(b));Double.toString(next())将这个数double数转化成String类型(字符串)
}
}
});
}
returnjButton2;
}
privateJButtongetJButton3(){
if(jButton3==null){
jButton3=newJButton();
jButton3.setText("4");
jButton3.setFont(newFont("楷体",Font.BOLD,30));
jButton3.setForeground(newColor());
jButton3.setFocusable(false);
jButton3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
str+="4";
jTextField.setText(str);
}
});
jButton3.addMouseListener(newMouseListener(){
publicvoidactionPerformed(MouseEvente){
jButton3.setForeground(newColor());
}
publicvoidmouseClicked(MouseEvente){
jButton3.setForeground(newColor());
}
publicvoidmouseEntered(MouseEvente){
jButton3.setForeground(newColor());
}
publicvoidmouseExited(MouseEvente){
jButton3.setForeground(newColor());
}
publicvoidmousePressed(MouseEvente){
jButton3.setForeground(newColor());
}
publicvoidmouseReleased(MouseEvente){
jButton3.setForeground(newColor());
}
}
);
}
returnjButton3;
}
privateJButtongetJButton4(){
if(jButton4==null){
jButton4=newJButton();
jButton4.setText("5");
jButton4.setFont(newFont("楷体",Font.BOLD,30));
jButton4.setForeground(newColor());
jButton4.setFocusable(false);
jButton4.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
str+="5";
jTextField.setText(str);
}
});
jButton4.addMouseListener(newMouseListener(){
publicvoidactionPerformed(MouseEvente){
jButton4.setForeground(newColor());
}
publicvoidmouseClicked(MouseEvente){
jButton4.setForeground(newColor());
}
publicvoidmouseEntered(MouseEvente){
jButton4.setForeground(newColor());
}
publicvoidmouseExited(MouseEvente){
jButton4.setForeground(newColor());
}
publicvoidmousePressed(MouseEvente){
jButton4.setForeground(newColor());
}
publicvoidmouseReleased(MouseEvente){
jButton4.setForeground(newColor());
}
}
);
}
returnjButton4;
}
privateJButtongetJButton5(){
if(jButton5==null){
jButton5=newJButton();
jButton5.setText("6");
jButton5.setFont(newFont("楷体",Font.BOLD,30));
jButton5.setForeground(newColor());
jButton5.setFocusable(false);
jButton5.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
str+="6";
jTextField.setText(str);
}
});
jButton5.addMouseListener(newMouseListener(){
publicvoi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 java 毕业 课程设计 代码 科学 计算器