当前位置:首页 > 面向对象程序设计课程设计 -计算器
button_CE=new JButton(\退格\ button_cancel=new JButton(\清零\ JPanel panel2=new JPanel();
panel2.setLayout(new GridLayout(1,5,4,4)); this.add(panel2);
button_7=new JButton(\ button_8=new JButton(\ button_9=new JButton(\ button_log=new JButton(\
button_divide=new JButton(\
JPanel panel3=new JPanel();
panel3.setLayout(new GridLayout(1,5,4,4)); this.add(panel3);
button_4=new JButton(\ button_5=new JButton(\ button_6=new JButton(\
button_tan=new JButton(\
button_multiply=new JButton(\
JPanel panel4=new JPanel(); panel4.setLayout(new GridLayout(1,5,4,4)); this.add(panel4);
button_1=new JButton(\ button_2=new JButton(\ button_3=new JButton(\ button_cos=new JButton(\
button_minus=new JButton(\ JPanel panel5=new JPanel(); panel5.setLayout(new GridLayout(1,5,4,4)); this.add(panel5);
button_0=new JButton(\
5
button_point=new JButton(\ button_equal=new JButton(\ button_sin=new JButton(\
button_plus=new JButton(\
3)为组件登记接口。监听器接口,响应动作事件:
button_sqrt.addActionListener(this); button_plusminus.addActionListener(this); button_exp.addActionListener(this); button_CE.addActionListener(this); button_cancel.addActionListener(this); button_7.addActionListener(this);
button_8.addActionListener(this); button_9.addActionListener(this);
button_log.addActionListener(this); button_divide.addActionListener(this); button_4.addActionListener(this); button_5.addActionListener(this); button_6.addActionListener(this); button_tan.addActionListener(this); button_multiply.addActionListener(this); button_1.addActionListener(this); button_2.addActionListener(this); button_3.addActionListener(this); button_cos.addActionListener(this); button_minus.addActionListener(this); button_0.addActionListener(this); button_point.addActionListener(this); button_equal.addActionListener(this); button_sin.addActionListener(this);
button_plus.addActionListener(this);(4)设置板面的大小:6
(
f.setSize(215,230);
(5)在类中实现接口中声明的事件处理方法:
public void actionPerformed(ActionEvent e)
(6)委任事件处理模型,可以使用多个接口:
class Result implements ActionListener
(7)响应打开窗口事件,响应关闭窗口后的事件,响应窗口失活事件:
public void windowOpened(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowClosed(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){}
六.流程图
类的定义 添加布局管理器创建窗口 添加按钮,定义数字、运算符,字符 为组件登记接口 在类中实现接口中声明的事件处理方法 响应事件
七. 功能实现
7
上图即为通过程序实现的计算器面板。
八.源程序 代码如下
import java.awt.*;
import java.awt.event.*; import javax.swing.*;
public class Calculator extends Frame implements ActionListener, WindowListener {
private Container container; private GridBagLayout layout;
private GridBagConstraints constraints;
private JTextField displayField; //计算结果显示区 private String lastCommand; //保存+,-,*,/,=命令0 private double result; //保存计算结果
private boolean start; //判断是否为数字的开始 private JMenuBar menubar;
private JMenuItem m_exit,m2_ejz,m2_bjz; private Dialog dialog;
private Label label_dialog; private JButton
button_sqrt,button_plusminus,button_CE,button_cancel,button_1,button_2, button_3,button_4,button_5,button_6,button_7,button_8,button_9,button_0, button_plus,button_minus,button_multiply,button_divide,button_point, button_equal,button_log,button_tan,button_cos,button_sin,button_exp;
8
共分享92篇相关文档