用java 写了一个简单计算器,能实现简单的数据计算。 一、先写界面代码: 在 UI 包里面新建一个Class 文件,取名自己想,这里我写的是 CalculatorFrame package ui; import java.awt.Color; import java.awt.Font; 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.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.border.TitledBorder; public class CalculatorFrame extends JFrame { private static final long serialVersionUID = 1L; public String opt; public String str; private JTextArea show; private ClientContext clientContext;//引用控制器对象 /*因为调用了控制器里面的方法,所以要对控制器的对象进行赋值,否则运行会出现空指针异常*/ public void setClientContext(ClientContext clientContext) { this.clientContext = clientContext; } public CalculatorFrame() { init(); } private void init() { setTitle(" Simple Calculator"); setBounds(533, 184, 300, 400); setContentPane(creatContentPane()); } private JPanel creatContentPane() { JPanel p = new JPanel(new GridLayout(4, 1)); /* 在面板里面添加4 个面板*/ p.add(showPane());//显示屏 p.add(btnPane1());//下面三个都是按钮 p.add(btnPane2()); p.add(btnPane3()); return p; } /*实现各个面板*/ private JScrollPane showPane() { JScrollPane p = new JScrollPane(); p.setBorder(new TitledBorder("Display:")); show = new JTextArea(); show.setFont(new Font("",Font.PLAIN,25)); show.setForeground(Color.RED); show.setLineWrap(true); show.setEditable(false); p.getViewport().add(show); return p; } private JPanel btnPane1() { JPanel p = new JPanel(new GridLayout(2, 4)); JButton add = new JButton("+"); JButton jian = new JButton("-"); JButton cheng = new JButton("*"); JButton chu = new JButton("/"); JButton one = new ...