java用制作小计算器
2017-09-20 13:52
295 查看
import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class Caculator implements ActionListener { private JFrame frame; private JTextField jtx; private JButton[] bus; private char[] strs; private JButton bu; private String d_one = ""; private String operator = ""; public static void main(String[] args) { new Caculator(); } public Caculator() { // 定义一个框架,显示信息为“计算器” frame = new JFrame("计算器"); // 定义文本框,长度定为14(JTextField是单行文本框,里面的内容只能显示为一行) jtx = new JTextField(14); // 创建16个按钮 bus = new JButton[16]; strs = "789/456*123-0%+=".toCharArray(); // 给每个按钮添加一个显示信息,并且创建点击监听 for (int i = 0; i < 16; i++) { bus[i] = new JButton(strs[i] + ""); bus[i].addActionListener(this); } bu = new JButton("AC"); bu.addActionListener(this); init(); } public void init() { // 创建一个中间容器,用来存放文本框和按钮 JPanel jp1 = new JPanel(); jp1.add(jtx); jp1.add(bu); frame.add(jp1, BorderLayout.NORTH); JPanel jp2 = new JPanel(); jp2.setLayout(new GridLayout(4, 4)); for (int i = 0; i < 16; i++) { jp2.add(bus[i]); } frame.add(jp2, BorderLayout.CENTER); // 根据窗口的布局和组件来确定边框的大小 frame.pack(); frame.setLocation(300, 400); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent actionEvent) { String conn = actionEvent.getActionCommand(); if ("AC".equals(conn)) { d_one = ""; operator = ""; jtx.setText(""); return; } if (("+-*/%".indexOf(conn)) != -1) { if ("".equals(d_one) && "".equals(jtx.getText())) return; d_one = jtx.getText(); operator = conn; jtx.setText(""); return; } if ("=".equals(conn)) { if ("".equals(d_one) && "".equals(jtx.getText())) return; double value = 0; if ("+".equals(operator)) { value = Double.parseDouble(d_one) + Double.parseDouble(jtx.getText()); jtx.setText(value + ""); } if ("-".equals(operator)) { value = Double.parseDouble(d_one) - Double.parseDouble(jtx.getText()); jtx.setText(value + ""); } if ("*".equals(operator)) { value = Double.parseDouble(d_one) * Double.parseDouble(jtx.getText()); jtx.setText(value + ""); } if ("/".equals(operator)) { value = Double.parseDouble(d_one) / Double.parseDouble(jtx.getText()); jtx.setText(value + ""); } if ("%".equals(operator)) { value = Double.parseDouble(d_one) % Double.parseDouble(jtx.getText()); jtx.setText(value + ""); } d_one = value + ""; return; } jtx.setText(jtx.getText() + conn); } }
相关文章推荐
- 关于java 的科学计算算法(前,中,后缀表达式的转换)——计算器制作的心得
- 计算器制作JAVA版(综述)
- java 制作小计算器
- 计算器制作JAVA版(第一步,垃圾字符过滤)
- 计算器制作JAVA版(第二步,表达式结构检查)
- java 制作计算器
- 利用Java制作计算器的界面
- java学习—— 制作简单的计算器
- 计算器制作JAVA版(第三步,表达式求值(+-*/))
- 计算器制作JAVA版 (源代码)
- java制作的亲戚计算器(三姑六婆计算器)
- java制作仿win7计算器之一计算器的图形界面的设计
- 计算器制作JAVA版(第三步,表达式求值(+-*/)混入点号和负号)
- C# WPF 制作的计算器,有运算优先级
- 推荐6款常用的Java开源报表制作工具
- JavaWeb网页版计算器实现
- 用JSmooth制作java jar文件的可执行exe文件教程(图文)
- JAVA 实现网页链接二维码的制作
- java报表制作组件itext使用
- 用java程序制作exe文件