实验楼Java写计算器_Java版图形界面计算器

Java 版图形界面计算器

实验说明及介绍

环境登录

无需密码自动登录,系统用户名 shiyanlou,密码 shiyanlou

环境介绍

本实验环境采用带桌面的 Ubuntu Linux 环境,实验中会用到桌面上的程序:LX 终端(LXTerminal): Linux 命令行终端,打开后会进入 Bash 环境,可以使用 Linux 命令

Eclipse:一款很强大的 IDE

##布局

这个计算器有两个 JPanel。

什么是 JPanel:JPanel 是一般轻量级容器。JPanel 为 javax.swing 包中的,为面板容器,可以加入到 JFrame 中 , 它自身是个容器,可以把其他 compont 加入到 JPanel 中,如 JButton、JTextArea、JTextField 等。两个 JPanel 分别对应这个计算器按键除 “清除” 键外其他的键,另个面板则是输出栏跟 “清除” 键(截取部分代码)。

JPanel pan = new JPanel();

pan.setLayout(new GridLayout(4, 4, 5, 5));// 四行四列 边距为5像素

pan.add(button7);

pan.add(button8);

pan.add(button9);

pan.add(button_chu);

pan.add(button4);

pan.add(button5);

pan.add(button6);

pan.add(button_cheng);

pan.add(button1);

pan.add(button2);

pan.add(button3);

pan.add(button_jian);

pan.add(button0);

pan.add(button_Dian);

pan.add(button_dy);

pan.add(button_jia);

pan.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));// pan对象的边距

JPanel pan2 = new JPanel();

pan2.setLayout(new BorderLayout());

pan2.add(result_TextField, BorderLayout.WEST);

pan2.add(clear_Button, BorderLayout.EAST);

事件处理

事件处理有:数字键、加减乘除运算、小数点处理、等于以及清除。

代码如下(截取部分代码,这里是通过类方法处理的):

//等于

class Listener_dy implements ActionListener {

@SuppressWarnings("unchecked")

public void actionPerformed(ActionEvent e) {

store = (JButton) e.getSource();

vt.add(store);

yuns();

k1 = 1; // 还原开关k1状态

// str1=result;

k2 = 1;

k3 = 1;// 还原开关k3状态

k4 = 1; // 还原开关k4状态

str1 = result; // 为7+5=12 +5=17 这种计算做准备

}

}

计算的实现

public void cal() {

double a2;// 运算数1

double b2;// 运算数2

String c = signal;// 运算符

double result2 = 0;// 结果

if (c.equals("")) {

result_TextField.setText("请输入运算符");

} else {

if (str1.equals(".")) // 字符串 "." 转换成double型数据时 会出错 所以手工转

str1 = "0.0";

if (str2.equals("."))

str2 = "0.0";

a2 = Double.valueOf(str1).doubleValue();

b2 = Double.valueOf(str2).doubleValue();

if (c.equals("+")) {

result2 = a2 + b2;

}

if (c.equals("-")) {

result2 = a2 - b2;

}

if (c.equals("*")) {

result2 = a2 * b2;

}

if (c.equals("/")) {

if (b2 == 0) {

result2 = 0;// 0000000000000 by 0 cu!

} else {

result2 = a2 / b2;

}

}

result = ((new Double(result2)).toString());

result_TextField.setText(result);

}

}

实验结果

1450688929320.png

##实验心得

通过这次实验我对实验楼有了了一定的了解,也初步认识JAVAB版图形界面计算器。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值