import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Computer extends JFrame implements ActionListener
{
private double sum1,sum2;
private char fuhao;
private JMenu bianji=new JMenu("编辑"); //设计菜单
private JMenu help=new JMenu("帮助");
private JMenuItem copy=new JMenuItem("复制");
private JMenuItem zt=new JMenuItem("粘贴");
private JMenuItem gy=new JMenuItem("关于");
private JTextField text=new JTextField(32); //结果区域
JPanel pan2=new JPanel();JPanel pan3=new JPanel(); //设计面板
JPanel pan4=new JPanel();JPanel pan5=new JPanel();
JButton nul=new JButton();JButton back=new JButton("Back");//第一行按钮
JButton ce=new JButton("CE");JButton c=new JButton("C");
JButton num1=new JButton("1");JButton num2=new JButton("2");//数据按钮
JButton num3=new JButton("3");JButton num4=new JButton("4");
JButton num5=new JButton("5");JButton num6=new JButton("6");
JButton num7=new JButton("7");JButton num8=new JButton("8");
JButton num9=new JButton("9");JButton num0=new JButton("0");
JButton num10=new JButton("+/-");JButton num11=new JButton("=");
JButton fh1=new JButton("+");JButton fh2=new JButton("-");//算数符号按钮
JButton fh3=new JButton("*");JButton fh4=new JButton("/");
JButton sqr=new JButton("sqr");JButton qy=new JButton("%");
JButton ch=new JButton("1/x");JButton poin=new JButton(".");
JButton mc=new JButton("MC");JButton mr=new JButton("MR");
JButton ms=new JButton("MS");JButton mj=new JButton("M+");
Computer()
{
setTitle("计算器");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
JPanel pan1=new JPanel();
text.setHorizontalAlignment(JTextField.RIGHT);
bianji.setForeground(Color.white);
help.setForeground(Color.white);
ms.setForeground(Color.red);mr.setForeground(Color.red);
mc.setForeground(Color.red);mj.setForeground(Color.red);
back.setForeground(Color.red);ce.setForeground(Color.red);
c.setForeground(Color.red);
fh1.setForeground(Color.red);
fh2.setForeground(Color.red);
fh3.setForeground(Color.red);
fh4.setForeground(Color.red);
num11.setForeground(Color.red);
pan1.setBackground(Color.darkGray); //设置背景颜色
pan2.setBackground(Color.darkGray);
pan3.setBackground(Color.darkGray);
pan4.setBackground(Color.darkGray);
pan5.setBackground(Color.darkGray);
pan2.setLayout(new GridLayout(4,5,5,5)); //布局各个面板
pan3.setLayout(new GridLayout(1,4,35,5));
pan4.setLayout(new BorderLayout(10,5));
pan5.setLayout(new GridLayout(4,1,5,20));
//添加事件监听器
back.addActionListener(this);ce.addActionListener(this);
c.addActionListener(this);
fh1.addActionListener(this);fh2.addActionListener(this);
fh3.addActionListener(this);fh4.addActionListener(this);
num0.addActionListener(this);num1.addActionListener(this);
num2.addActionListener(this);num3.addActionListener(this);
num4.addActionListener(this);num5.addActionListener(this);
num6.addActionListener(this);num7.addActionListener(this);
num8.addActionListener(this);num9.addActionListener(this);
num10.addActionListener(this);num11.addActionListener(this);
bianji.add(copy); //菜单添加
bianji.add(zt);
help.add(gy);
pan3.add(nul);pan3.add(back);pan3.add(ce);pan3.add(c); //向各个面板添加按钮
pan2.add(num7);pan2.add(num8);pan2.add(num9);pan2.add(fh1);pan2.add
(sqr);pan2.add(num4);
pan2.add(num5);pan2.add(num6);pan2.add(fh2);pan2.add(qy);pan2.add
(num1);pan2.add(num2);
pan2.add(num3);pan2.add(fh3);pan2.add(ch);pan2.add(num0);pan2.add
(num10);pan2.add(poin);
pan2.add(fh4);pan2.add(num11);
pan4.add(pan5,BorderLayout.WEST);
pan4.add(pan2,BorderLayout.EAST);
pan5.add(ms); pan5.add(mc); pan5.add(mr); pan5.add(mj);
pan1.add(bianji);pan1.add(help);
text.setEditable(false);
pan1.add(text);
pan1.add(pan3);
pan1.add(pan4);
setContentPane(pan1);
}
public static void main(String[] args)
{
JFrame frame=new Computer();
// frame.isResizable(false);
frame.setSize(365,300);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
Object ob=e.getSource();
try {
if(ob==num1)
text.setText(text.getText()+1);
if(ob==num2)
text.setText(text.getText()+2);
if(ob==num3)
text.setText(text.getText()+3);
if(ob==num4)
text.setText(text.getText()+4);
if(ob==num5)
text.setText(text.getText()+5);
if(ob==num6)
text.setText(text.getText()+6);
if(ob==num7)
text.setText(text.getText()+7);
if(ob==num8)
text.setText(text.getText()+8);
if(ob==num9)
text.setText(text.getText()+9);
if(ob==num0)
text.setText(text.getText()+0);
if(ob==fh1)
sum1=Double.parseDouble(text.getText());
if(ob==fh2)
sum1=Double.parseDouble(text.getText());
if(ob==fh3)
sum1=Double.parseDouble(text.getText());
if(ob==fh4)
sum1=Double.parseDouble(text.getText());
if(ob==back)
{
String str=text.getText();
if(str.length()>1)
{
str=str.substring(0,str.length()-1);
text.setText(str);
}
if(str.length()==1)
{
str="0";
text.setText(str);
}
}
if(ob==fh1)
{sum1=Double.parseDouble(text.getText());
text.setText("");
fuhao='+';}
else if(ob==fh2)
{sum1=Double.parseDouble(text.getText());
text.setText("");
fuhao='-';}
else if(ob==fh3)
{sum1=Double.parseDouble(text.getText());
text.setText("");
fuhao='*';}
else if(ob==fh4)
{sum1=Double.parseDouble(text.getText());
text.setText("");
fuhao='/';}
if(ob==num11)
{
sum2=Double.parseDouble(text.getText());
switch(fuhao)
{
case '+' :
text.setText(String.valueOf((sum1+sum2)));
break;
case '-' :
text.setText(String.valueOf((sum1-sum2)));
break;
case '*' :
text.setText(String.valueOf((sum1*sum2)));
break;
case '/' :
text.setText(String.valueOf((sum1/sum2)));
break;
}
}
if(ob==c)
text.setText("");
}
catch (Exception ex) {
}
}
}
java课程设计-计算器
需积分: 0 173 浏览量
2008-01-12
14:14:30
上传
评论 2
收藏 2KB RAR 举报
高山流水
- 粉丝: 5
- 资源: 16
最新资源
- delphi实现DBGrid全选和反选功能
- 25C11F41-2B2A-4D1A-AAA8-7C654526B129.pdf
- Android Studio Jellyfish(android-studio-2023.3.1.18-cros.deb)
- MVC+EF框架+EasyUI实现权限管理源码程序
- python第66-75天,Day66-75.rar
- python后端服务project-of-tornado.rar
- python测验,hello-tornado.rar
- 基于SpringBoot+Vue3快速开发平台、自研工作流引擎源码设计.zip
- docker安装部署全流程
- 基于树莓派的人脸识别系统python源码+项目部署说明+超详细代码注释.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0