多功能科学计算器(包括进制转换,三角函数,四则运算等)
Basic Framework
calculator.java
package myCalculator;
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;
private JMenuItem m2_ejz;
private JMenuItem m2_bjz;
private Dialog dialog;
private Label label_dialog;
private JButton button_sqrt;
private JButton button_plusminus;
private JButton button_CE;
private JButton button_cancel;
private JButton button_1;
private JButton button_2;
private JButton button_3;
private JButton button_4;
private JButton button_5;
private JButton button_6;
private JButton button_7;
private JButton button_8;
private JButton button_9;
private JButton button_0;
private JButton button_plus;
private JButton button_minus;
private JButton button_multiply;
private JButton button_divide;
private JButton button_point;
private JButton button_equal;
private JButton button_log;
private JButton button_tan;
private JButton button_cos;
private JButton button_sin;
private JButton button_exp;
public calculator() //构造方法设置布局、为按钮注册事件监听器
{
super( "My Calculator" );
this.setLocation( 350,150 );
this.setSize( 450,400 );
this.setResizable( true );
this.setLayout( new GridLayout( 7,1 ) );
this.addmyMenu(); //调用成员方法添加菜单
displayField = new JTextField( 30 );
this.add( displayField );
displayField.setEditable( true );
start = true;
result = 0;
lastCommand = "=";
JPanel panel0 = new JPanel();
panel0.setLayout( new GridLayout( 1,4,4,4 ) );
JPanel panel1 = new JPanel();
panel1.setLayout(