分享
 
 
 

求JAVA编写的类似windows带的简易计算器的源程序!

王朝知道·作者佚名  2010-05-26
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

最好能多一些说明文字~谢谢~~

參考答案:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Calculator implements ActionListener

{

String s="",s1;

double d1,d2;

JFrame jf = new JFrame("小计算器by Graduate") ;

JTextField tf = new JTextField();

public void init()//实现计算器界面

{

Container c=jf.getContentPane();

tf.setHorizontalAlignment(JTextField.RIGHT);//文本框

c.add(tf,"North");

JPanel pn3 = new JPanel(new BorderLayout());

c.add(pn3,"Center");

JPanel pn2 = new JPanel();//功能键界面(清除键和关闭键)

pn2.setLayout(new BorderLayout());

JPanel pn1 = new JPanel();//运算界面

pn1.setLayout(new GridLayout(4,4));

pn3.add(pn2,"North");

pn3.add(pn1);

//设置按钮

JButton b = new JButton("CLEAR");

b.setToolTipText("请按清除键!");//设置清零键

b.setForeground(Color.RED);//设置字体颜色

b.setBackground(Color.YELLOW);//设置背景色

b.addActionListener(this);

pn2.add(b,"Center");

b = new JButton("OFF");

b.setToolTipText("请按退出键!");//设置off键,点击退出应用程序b.addActionListener(this);

b.setForeground(Color.RED);//字体颜色

b.setBackground(Color.ORANGE);//背景色

pn2.add(b,"East");

b = new JButton("1");//add butten 1

b.addActionListener(this);

pn1.add(b);

b = new JButton("2");//add butten 2

b.addActionListener(this);

pn1.add(b);

b = new JButton("3");//add butten 3

b.addActionListener(this);

pn1.add(b);

b = new JButton("+");//add butten +

b.setForeground(Color.BLUE);//设置字体颜色

b.addActionListener(this);

pn1.add(b);

b = new JButton("4");//add butten 4

b.addActionListener(this);

pn1.add(b);

b = new JButton("5");//add butten 5

b.addActionListener(this);

pn1.add(b);

b = new JButton("6");//add button 6

b.addActionListener(this);

pn1.add(b);

b = new JButton("-");//add button -

b.setForeground(Color.BLUE);//设置字体颜色

b.addActionListener(this);

pn1.add(b);

b = new JButton("7");//add button 7

b.addActionListener(this);

pn1.add(b);

b = new JButton("8");//add button 8

b.addActionListener(this);

pn1.add(b);

b = new JButton("9");//add button 9

b.addActionListener(this);

pn1.add(b);

b = new JButton("*");//add button *

b.setForeground(Color.BLUE);//设置字体颜色

b.addActionListener(this);

pn1.add(b);

b = new JButton("0");//add button 0

b.addActionListener(this);

pn1.add(b);

b = new JButton(".");//add button .

b.addActionListener(this);

pn1.add(b);

b = new JButton("=");//add button =

b.setForeground(Color.RED);//设置字体颜色

b.addActionListener(this);

pn1.add(b);

b = new JButton("\\");//add button \

b.setForeground(Color.BLUE);//设置字体颜色

b.addActionListener(this);

pn1.add(b);

jf.setSize(300,300);//设置大小

jf.setVisible(true);//设置为可视

}

//处理按钮按下时的动作,进行相应的处理

public void actionPerformed(ActionEvent e)

{

String command = e.getActionCommand();

tf.setText(tf.getText()+command);

if(command.equals("CLEAR")) //清零键 按下时返回初始状态

{

s1=null;

s="";

tf.setText("");//记录输入值的变量清空

}

else if(command.equals("OFF")) System.exit(0);//off键 关闭应用程序

else if(!command.equals("*")&&!command.equals("\\")

&&!command.equals("+")&&!command.equals("-")

&&!command.equals("="))//判断输入是否为数字

{

if(s1==null)//判断输入是否为第一个

s1 = command;

else s1+=command;

d1 = new Double(s1).doubleValue();//字符串型转换为双精度型,还原输入数字

try

{

if(s.equals("+")) d1 = d1+d2;//加法运算

else if(s.equals("-")) d1 = d2-d1;//减法运算

else if(s.equals("*")) d1 = d1*d2;//乘法运算

else if(s.equals("\\"))d1 = d2/d1;//除法运算

}

catch(Exception ex)

{

tf.setText("Error");//错误显示"Error"

System.out.println(ex.getMessage());

}

}

else if(!command.equals("=")) //判断输入是否为+ - * \

{

s = command;

s1 = null;

d2 = d1;

}

else//输入=时,显示运算结果

{

tf.setText(tf.getText()+d1);

}

}

public static void main(String [] args)

{

new Calculator().init();

}

}

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有