资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
package com.tarena.main;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.AbstractAction;import javax.swing.AbstractButton;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.BevelBorder;public class Calculator extends JFrame implements ActionListener/-菜单栏定义开始-/public JMenuBar menuBar=new JMenuBar();public JMenu editMenu=new JMenu(编辑(E);public JMenuItem menuItemCopy=new JMenuItem(复制(C);public JMenuItem menuItemPause=new JMenuItem(粘贴(P);public JMenu viewMenu=new JMenu(查看(V);public JMenuItem menuItemStand=new JMenuItem(标准型(T);public JMenuItem menuItemScience=new JMenuItem(科学型(S);public JMenuItem menuItemGroup=new JMenuItem(数学分组(I);public JMenu helpMenu=new JMenu(帮助(H);public JMenuItem menuItemHelp=new JMenuItem(帮组主题(H);public JMenuItem menuItemAbout=new JMenuItem(关于计算器(A);/-菜单栏定义结束-/文本输入框public JTextField msg=new JTextField(0); /标签public JLabel labelInfo=new JLabel();/定义一个panel放MC-M+按钮public JPanel panSave=new JPanel();/定义一个panel放Baskspace CE C 按钮public JPanel panBack=new JPanel();/定义一个panel放0-9 + - */等剩余按钮public JPanel panNum=new JPanel();/创建一个放27个MyButton类型的数组public MyButton buttons=new MyButton27;/fam的作用是缓存public StringBuffer fam=new StringBuffer();public double value=0; public int operator=0;public boolean hasSave=false;public double numSave=0;/-组装菜单栏-public void initMenu()this.setJMenuBar(menuBar);menuBar.add(editMenu);editMenu.add(menuItemCopy);editMenu.add(menuItemPause);menuBar.add(viewMenu);viewMenu.add(menuItemStand);viewMenu.add(menuItemScience);viewMenu.addSeparator();/添加分割线viewMenu.add(menuItemGroup);menuBar.add(helpMenu);helpMenu.add(menuItemHelp);helpMenu.addSeparator();/添加分割线helpMenu.add(menuItemAbout);menuItemAbout.addActionListener(this);/-此将计算器上的所有button创建出来-public void initButton()/将监听绑定到button上Buttonlistener listener=new Buttonlistener();buttons0=new MyButton(listener,7,Color.BLUE);buttons1=new MyButton(listener,8,Color.BLUE);buttons2=new MyButton(listener,9,Color.BLUE);buttons3=new MyButton(listener,/,Color.RED);buttons4=new MyButton(listener,sqrt,Color.BLUE);buttons5=new MyButton(listener,4,Color.BLUE);buttons6=new MyButton(listener,5,Color.BLUE);buttons7=new MyButton(listener,6,Color.BLUE);buttons8=new MyButton(listener,*,Color.RED);buttons9=new MyButton(listener,%,Color.BLUE);buttons10=new MyButton(listener,1,Color.BLUE);buttons11=new MyButton(listener,2,Color.BLUE);buttons12=new MyButton(listener,3,Color.BLUE);buttons13=new MyButton(listener,-,Color.RED);buttons14=new MyButton(listener,1/x,Color.BLUE);buttons15=new MyButton(listener,0,Color.BLUE);buttons16=new MyButton(listener,+/-,Color.BLUE);buttons17=new MyButton(listener,.,Color.BLUE);buttons18=new MyButton(listener,+,Color.RED);buttons19=new MyButton(listener,=,Color.RED);buttons20=new MyButton(listener,MC,Color.RED);buttons21=new MyButton(listener,MR,Color.RED);buttons22=new MyButton(listener,MS,Color.RED);buttons23=new MyButton(listener,M+,Color.RED);buttons24=new MyButton(listener,Bascspace,62,25,Color.RED);buttons25=new MyButton(listener,CE,62,25,Color.RED);buttons26=new MyButton(listener,C,62,25,Color.RED);/-此方法组装剩余控件(文本输入框、Label和button)-public void initAdd()/msg-文本输入框的组装msg.setSize(240,20);msg.setLocation(7, 4);msg.setBackground(Color.WHITE);/背景颜色白色msg.setEditable(false);/文本输入框不能编辑/将文本输入框的内容居右显示msg.setHorizontalAlignment(JTextField.RIGHT);/labelInfo-标签的组装labelInfo.setSize(30,26);labelInfo.setLocation(7,30);/能将标签凹陷labelInfo.setBorder(new BevelBorder(BevelBorder.LOWERED);/panSave-面板的组装panSave.setSize(35,150);panSave.setLocation(7,60);/设置button和button之间的水平间距和垂直间距panSave.setLayout(new FlowLayout(FlowLayout.CENTER,3,3);/将MC MR MS M+放入panSave面板上 for(int i=20;i24;i+) panSave.add(buttonsi); /panClear-面板的组装 panBack.setLocation(45,30); panBack.setSize(200,26); panBack.setLayout(new FlowLayout(FlowLayout.CENTER
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号