java简单计算机程序_用java实现一个win7简单计算机的程序

运行组图

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

源程序代码:

import

javax.swing.*;

import

java.awt.*;

import

java.awt.event.*;

public class

CalculationTest{

public static void main(String [] argv)

{

EventQueue.invokeLater(new Runnable(){

public void run()

{

JFrame frame=new CalculationFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

});

}

}

class CalculationFrame

extends JFrame{

public CalculationFrame()

{

setTitle("计算机made by 蓝月追风");

CalculationPanel panel=new CalculationPanel();

add(panel);

this.setSize(300, 350);

}

}

class CalculationPanel

extends

JPanel

{

public CalculationPanel()

{

this.setLayout(new GridLayout(2,1));

JPanel buttonPanel=new ButtonPanel();

JPanel showPanel=new ShowPanel();

add(showPanel);

add(buttonPanel);

}

private class ShowPanel extends JPanel

{

ShowPanel()

{

panel=new JPanel();

down=new JTextArea(1,10);

up=new JTextArea(1,10);

panel.setLayout(new GridLayout(2,1));

panel.setBorder(BorderFactory.createLineBorder(Color.BLACK,

1));

down.setEditable(false);

down.setFont(new Font("Serifs",Font.BOLD,25));

up.setEditable(false);

//

lastShow.setBackground(Color.red);

//

showArea.setBackground(Color.BLUE);

down.setEditable(false);

down.setText("0");

panel.setPreferredSize(new Dimension(210,75));

panel.add(up);

panel.add(down);

add(panel);

setBorder(BorderFactory.createEmptyBorder(5, 3, 1, 3));

}

private JPanel panel;

}

private class ButtonPanel extends

JPanel

{

public ButtonPanel()

{

start=true;

equals=false;

total=true;

result=0;

button=new JButton[17];

ActionListener NA=new numberAction();

ActionListener CA=new commendAction();

GridBagLayout gridbag=new GridBagLayout();

setLayout(gridbag);

GridBagConstraints gbc;

int

gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;

double weightx,weighty;

Insets inset=new Insets(3,3,3,3);

gridx=0;gridy=0;gridwidth=1;gridheight=1;anchor=GridBagConstraints.CENTER;

fill=GridBagConstraints.BOTH;

ipadx=0;ipady=0;

weightx=0;weighty=0;

button[0]=new JButton("0");

gridy=3;gridx=0;

gridwidth=2;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[0], gbc);

add(button[0]);

button[0].addActionListener(NA);

button[1]=new JButton("1");

gridy=2;gridx=0;

gridwidth=1;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[1], gbc);

add(button[1]);

button[1].addActionListener(NA);

button[2]=new JButton("2");

gridx=1;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[2], gbc);

add(button[2]);

button[2].addActionListener(NA);

button[3]=new JButton("3");

gridx=2;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[3], gbc);

add(button[3]);

button[3].addActionListener(NA);

button[4]=new JButton("4");

gridy=1;gridx=0;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[4], gbc);

add(button[4]);

button[4].addActionListener(NA);

button[5]=new JButton("5");

gridx=1;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[5], gbc);

add(button[5]);

button[5].addActionListener(NA);

button[6]=new JButton("6");

gridx=2;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[6], gbc);

add(button[6]);

button[6].addActionListener(NA);

button[7]=new JButton("7");

gridx=0;gridy=0;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[7], gbc);

add(button[7]);

button[7].addActionListener(NA);

button[8]=new JButton("8");

gridx=1;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[8], gbc);

add(button[8]);

button[8].addActionListener(NA);

button[9]=new JButton("9");

gridx=2;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[9], gbc);

add(button[9]);

button[9].addActionListener(NA);

button[10]=new JButton(".");

gridy=3;

gridx=2;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[10], gbc);

add(button[10]);

button[10].addActionListener(CA);

button[11]=new JButton("+");

gridx=3;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[11], gbc);

add(button[11]);

button[11].addActionListener(CA);

button[12]=new JButton("-");

gridy=2;gridx=3;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[12], gbc);

add(button[12]);

button[12].addActionListener(CA);

button[13]=new JButton("*");

gridy=1;gridx=3;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[13], gbc);

add(button[13]);

button[13].addActionListener(CA);

button[14]=new JButton("/");

gridy=0;gridx=3;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[14], gbc);

add(button[14]);

button[14].addActionListener(CA);

button[15]=new JButton("=");

gridy=2;gridx=4;

gridwidth=1;

gridheight=2;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[15], gbc);

add(button[15]);

button[15].addActionListener(CA);

button[16]=new JButton("清除");

gridy=0;gridx=4;

gridwidth=1;

gridheight=2;

gbc=new

GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);

gridbag.setConstraints(button[16], gbc);

add(button[16]);

setBorder(BorderFactory.createEmptyBorder(0,5,5,5));

button[16].addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

up.setText("");

down.setText("0");

start=true;

equals=false;

total=true;

result=0;

}

});

}

private

class numberAction implements ActionListener

{

public void

actionPerformed(ActionEvent e)

{

String

input=e.getActionCommand();

if(total==true)

{

down.setText(""+input);

total=false;

}

else

down.append(""+input);

}

}

private

class commendAction implements ActionListener

{

public void

actionPerformed(ActionEvent e) {

String input=e.getActionCommand();

total=true;

if(start==true){

if(equals==true)

{

up.setText(up.getText()+down.getText()+input);

calculate(Double.parseDouble(down.getText()));

equals=false;

lastCommend=input;

}

else

{

result=Double.parseDouble(down.getText());

up.setText(result+input);

lastCommend=input;

}

start=false;

}

else{

if(lastCommend=="="){

up.setText(down.getText()+input);

lastCommend=input;

equals=true;

start=true;

}

else{

up.setText(up.getText()+down.getText()+input);

calculate(Double.parseDouble(down.getText()));

lastCommend=input;

}

}

}

}

private

void calculate(double x)

{

if(lastCommend.equals("+"))result+=x;

else

if(lastCommend.equals("-"))result-=x;

else

if(lastCommend.equals("*"))result*=x;

else

if(lastCommend.equals("/"))result/=x;

down.setText(""+result);

}

private

String lastCommend;//存储上一个运算符

private

double result;//存储结果

private

boolean start;//存储计算状态

private

boolean equals;//是否进行=运算

private

boolean total;//控制输入多位数如:78

JButton

button[];

private numberAction

NA;

private

commendAction CA;

}

private

JTextArea down;

private

JTextArea up;

}

思想与计算设计图解:

a4c26d1e5885305701be709a3d33442f.png

当然你也可以打开win7的简单计算机,运行几个例子观察下他的计算过程了。我也是根据他的过程编的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值