• 大小: 14KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-24
  • 语言: Java
  • 标签: Java  计算器  

资源简介

Java计算器 实现最简单的加减乘除、开方、求倒数等。

资源截图

代码片段和文件信息


import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
 * 界面对象
 */
public class Calframe extends Jframe {
// 显示计算结果的textField
private JTextField textField = null;
// 用一个数组保存MCMRMSM+等操作符
private String[] mOp = { “MC“ “MR“ “MS“ “M+“ };
// 用一个数组保存结果操作符
private String[] rOp = { “←“ “CE“ “C“ };
// 用一个数组保存数字与其它操作符
private String[] nOp = { “7“ “8“ “9“ “÷“ “√“ “4“ “5“ “6“ “ד
“%“ “1“ “2“ “3“ “-“ “1/x“ “0“ “±“ “.“ “+“ “=“ };
// M操作标志按钮
private JButton button = null;
// 业务逻辑类
private CalService service = new CalService();
// 定义监听器
private ActionListener actionListener = null; 
// 设置panel的宽
private final int PRE_WIDTH = 370;
// 设置panel的高
private final int PRE_HEIGHT = 205;

/**
 * 默认构造器
 */
Calframe() {
super();
initialize();
}

/**
 * 初始化界面
 * 
 * @return void
 */
private void initialize() {
this.settitle(“揸枪计算器“);
this.setResizable(false);

// 增加计算输入框
JPanel panel = new JPanel();
panel.setBackground(new Color(000));
panel.setLayout(new BorderLayout(5 1));
panel.add(getTextField() BorderLayout.NORTH);
panel.setPreferredSize(new Dimension(PRE_WIDTH PRE_HEIGHT));

// 增加存储操作键
JButton[] mButton = getMButton();
JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayout(5 1 0 4));
panel1.setBackground(new Color(000));
for(JButton b : mButton)
panel1.add(b);

// 增加结果操作键
JButton[] rButton = getRButton();
JPanel panel2 = new JPanel();
panel2.setBackground(new Color(000));
panel2.setLayout(new BorderLayout(5 1));
JPanel panel2b = new JPanel();
panel2b.setBackground(new Color(000));
panel2b.setLayout(new GridLayout(1 3 3 4));
for(JButton b : rButton)
panel2b.add(b);

// 增加数字与其他运算符
JButton[] nButton = getNButton();
JPanel panel3 = new JPanel();
panel3.setBackground(new Color(000));
panel3.setLayout(new GridLayout(4 5 3 4));
for(JButton b : nButton)
panel3.add(b);

// 把新增加的面板加到frame
panel2.add(panel2b BorderLayout.NORTH);
panel2.add(panel3 BorderLayout.CENTER);
panel.add(panel1 BorderLayout.WEST);
panel.add(panel2 BorderLayout.CENTER);
this.add(panel);
}
/**
 * 这个方法用来获取监听器
 * 
 * @return ActionListener
 */
public ActionListener getActionListener() {
if (actionListener == null) {
actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
String result = null;
try {
result = service.callMethod(cmd textField.getText());
} catch (Exception e1) {
System.out.println(e1.getMessage());
}

if(cmd.indexOf(“MC“) == 0) {
button.setText(““);
}
else {
button.setText(“M“);
}

if(result != null) {
textField.setText(result);
}
}
};
}
return actionListener;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-08-09 17:18  Calculator\
     文件         301  2011-08-09 17:18  Calculator\.classpath
     文件         386  2011-08-09 17:51  Calculator\.project
     目录           0  2011-08-09 17:18  Calculator\.settings\
     文件         629  2011-08-09 17:18  Calculator\.settings\org.eclipse.jdt.core.prefs
     目录           0  2011-08-09 17:18  Calculator\bin\
     文件        1643  2011-08-10 22:42  Calculator\bin\Calframe$1.class
     文件        5243  2011-08-10 22:42  Calculator\bin\Calframe.class
     文件        3950  2011-08-09 20:44  Calculator\bin\CalService.class
     文件         537  2011-08-09 17:59  Calculator\bin\Main.class
     文件        1225  2011-08-09 18:06  Calculator\bin\MyMath.class
     目录           0  2011-08-09 17:18  Calculator\src\
     文件        5592  2011-08-10 22:42  Calculator\src\Calframe.java
     文件        5687  2011-08-09 20:44  Calculator\src\CalService.java
     文件         292  2011-08-09 17:59  Calculator\src\Main.java
     文件        1821  2011-08-09 18:06  Calculator\src\MyMath.java

评论

共有 条评论