使用JAVA实现Win7系统计算器周久扬.docx
- 文档编号:10621307
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:40
- 大小:20.94KB
使用JAVA实现Win7系统计算器周久扬.docx
《使用JAVA实现Win7系统计算器周久扬.docx》由会员分享,可在线阅读,更多相关《使用JAVA实现Win7系统计算器周久扬.docx(40页珍藏版)》请在冰豆网上搜索。
使用JAVA实现Win7系统计算器周久扬
使用JAVA实现Win7系统计算器
本程序旨在帮助JAVA爱好者进行日常练习,本程序使用JAVA完全实现WIN7系统自带计算器界面的全部功能.
本程序代码开源,转载请注明出处,勿进行商业使用。
作者:
周久扬2013年5月29日@Florida
程序源码如下,直接复制到JAVA文件下便可编译执行:
/**************************************************
*Author:
周久扬(JiuyangZhou,May29,2013atFlorida)
*Charset:
UTF-8
***************************************************/
importjava.awt.Color;
importjava.awt.Container;
importjava.awt.Dimension;
importjava.awt.Font;
importjava.awt.GridBagConstraints;
importjava.awt.GridBagLayout;
importjava.awt.GridLayout;
importjava.awt.Image;
importjava.awt.Insets;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.InputEvent;
importjava.awt.event.KeyEvent;
importjava.math.BigDecimal;
importjavax.swing.BorderFactory;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JTextField;
importjavax.swing.KeyStroke;
importjavax.swing.border.LineBorder;
publicclassCalculatorimplementsActionListener{
privatefinalstaticintOP_NULL=-1;
privatefinalstaticintOP_PLUS=1;
privatefinalstaticintOP_MINUS=2;
privatefinalstaticintOP_TIME=3;
privatefinalstaticintOP_DIV=4;
publicJFrameframe;
publicContainercon;
publicJPanelpanel;
publicJPaneldisplayPanel;
publicJMenuBarmenuBar;
publicJMenucheckMenu;
publicJMenueditMenu;
publicJMenuhelpMenu;
publicJMenuItemstandardItem;
publicJMenuItemcopyItem;
publicJMenuItempasteItem;
publicJMenuItemaboutItem;
publicJTextFielddisplayFieldTop;
publicJTextFielddisplayFieldBottom;
publicJButtonbuttonMC;
publicJButtonbuttonMR;
publicJButtonbuttonMS;
publicJButtonbuttonMPlus;
publicJButtonbuttonMMinus;
publicJButtonbuttonBack;
publicJButtonbuttonCE;
publicJButtonbuttonC;
publicJButtonbuttonNegative;
publicJButtonbuttonRoot;
publicJButtonbutton7;
publicJButtonbutton8;
publicJButtonbutton9;
publicJButtonbuttonDiv;
publicJButtonbuttonPercent;
publicJButtonbutton4;
publicJButtonbutton5;
publicJButtonbutton6;
publicJButtonbuttonTime;
publicJButtonbuttonBackwards;
publicJButtonbutton1;
publicJButtonbutton2;
publicJButtonbutton3;
publicJButtonbuttonMinus;
publicJButtonbuttonEqual;
publicJButtonbutton0;
publicJButtonbuttonDot;
publicJButtonbuttonPlus;
publicJPanelpanel1;
publicJButton[]buttonArray;
//operationvariables
publicStringstock;
publicStringdisplayTop;
publicStringdisplayBottom;
publicStringfirstOP;
publicStringsecondOP;
publicStringresult;
publicintfirstInt;
publicintsecondInt;
publicintresultInt;
publicfloatfirstFloat;
publicfloatsecondFloat;
publicfloatresultFloat;
publicBigDecimalb1;
publicBigDecimalb2;
publicintop;
publicbooleanerrorFlag;
publicbooleandotFlag;
publicbooleanplusFlag;
publicbooleanminusFlag;
publicbooleantimeFlag;
publicbooleandivFlag;
publicbooleanequalFlag;
publicCalculator(){
frame=newJFrame("Calculator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//settingtheframesize
intinset_width=570;
intinset_hight=224;
DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();
frame.setBounds(inset_width,inset_hight,screenSize.width
-inset_width*2,screenSize.height-inset_hight*2);
//settingtheframeicon
Toolkitkit=Toolkit.getDefaultToolkit();
Imageimg=kit.getImage("src/programe/title.png");
frame.setIconImage(img);
//settingframeresizableanddisablethemaximizationbutton
frame.setResizable(false);
//getthecontaineroftheframe
con=frame.getContentPane();
con.setLayout(newGridLayout(1,1));
//initializingpanel
panel=newJPanel();
panel.setBorder(BorderFactory.createEmptyBorder(0,0,0,0));
displayPanel=newJPanel();
displayPanel.setBorder(newLineBorder(Color.gray));
//initializingmenubar,menu,andmenuitems
menuBar=newJMenuBar();
checkMenu=newJMenu("查看(V)");
editMenu=newJMenu("编辑(E)");
helpMenu=newJMenu("帮助(H)");
standardItem=newJMenuItem("标准型(T)");
copyItem=newJMenuItem("复制(C)");
copyItem.addActionListener(this);
pasteItem=newJMenuItem("粘贴(P)");
pasteItem.addActionListener(this);
aboutItem=newJMenuItem("关于(A)");
aboutItem.addActionListener(this);
//settingfontandkeyboardshortcuts
checkMenu.setFont(newFont("宋体",Font.PLAIN,13));
checkMenu.setMnemonic('v');
editMenu.setFont(newFont("宋体",Font.PLAIN,13));
editMenu.setMnemonic('e');
helpMenu.setFont(newFont("宋体",Font.PLAIN,13));
helpMenu.setMnemonic('h');
standardItem.setFont(newFont("宋体",Font.PLAIN,13));
standardItem.setMnemonic('t');
standardItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1,
InputEvent.ALT_MASK));
copyItem.setFont(newFont("宋体",Font.PLAIN,13));
copyItem.setMnemonic('c');
copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
InputEvent.CTRL_MASK));
pasteItem.setFont(newFont("宋体",Font.PLAIN,13));
pasteItem.setMnemonic('p');
pasteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
InputEvent.CTRL_MASK));
aboutItem.setFont(newFont("宋体",Font.PLAIN,13));
aboutItem.setMnemonic('a');
aboutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1,0));
displayFieldTop=newJTextField(17);
displayFieldTop.setEditable(false);
displayFieldTop.setHorizontalAlignment(JTextField.RIGHT);
displayFieldTop.setBorder(newLineBorder(Color.white));
displayFieldTop.setFont(newFont("Consolas",Font.PLAIN,12));
displayFieldBottom=newJTextField(17);
displayFieldBottom.setEditable(false);
displayFieldBottom.setBorder(newLineBorder(Color.white));
displayFieldBottom.setHorizontalAlignment(JTextField.RIGHT);
displayFieldBottom.setFont(newFont("Consolas",Font.PLAIN,20));
displayFieldBottom.setText("0");
//initializingbuttons
buttonMC=newJButton("MC");
buttonMC.addActionListener(this);
buttonMR=newJButton("MR");
buttonMR.addActionListener(this);
buttonMS=newJButton("MS");
buttonMS.addActionListener(this);
buttonMPlus=newJButton("M+");
buttonMPlus.addActionListener(this);
buttonMMinus=newJButton("M-");
buttonMMinus.addActionListener(this);
buttonBack=newJButton("←");
buttonBack.addActionListener(this);
buttonCE=newJButton("CE");
buttonCE.addActionListener(this);
buttonC=newJButton("C");
buttonC.addActionListener(this);
buttonNegative=newJButton("±");
buttonNegative.addActionListener(this);
buttonRoot=newJButton("√");
buttonRoot.addActionListener(this);
button7=newJButton("7");
button7.addActionListener(this);
button8=newJButton("8");
button8.addActionListener(this);
button9=newJButton("9");
button9.addActionListener(this);
buttonDiv=newJButton("÷");
buttonDiv.addActionListener(this);
buttonPercent=newJButton("%");
buttonPercent.addActionListener(this);
button4=newJButton("4");
button4.addActionListener(this);
button5=newJButton("5");
button5.addActionListener(this);
button6=newJButton("6");
button6.addActionListener(this);
buttonTime=newJButton("×");
buttonTime.addActionListener(this);
buttonBackwards=newJButton("1/X");
buttonBackwards.addActionListener(this);
button1=newJButton("1");
button1.addActionListener(this);
button2=newJButton("2");
button2.addActionListener(this);
button3=newJButton("3");
button3.addActionListener(this);
buttonMinus=newJButton("-");
buttonMinus.addActionListener(this);
buttonEqual=newJButton("=");
buttonEqual.addActionListener(this);
button0=newJButton("0");
button0.addActionListener(this);
buttonDot=newJButton(".");
buttonDot.addActionListener(this);
buttonPlus=newJButton("+");
buttonPlus.addActionListener(this);
//buttonArray
buttonArray=newJButton[28];
buttonArray[0]=buttonMC;
buttonArray[1]=buttonMR;
buttonArray[2]=buttonMS;
buttonArray[3]=buttonMPlus;
buttonArray[4]=buttonMMinus;
buttonArray[5]=buttonBack;
buttonArray[6]=buttonCE;
buttonArray[7]=buttonC;
buttonArray[8]=buttonNegative;
buttonArray[9]=buttonRoot;
buttonArray[10]=button7;
buttonArray[11]=button8;
buttonArray[12]=button9;
buttonArray[13]=buttonDiv;
buttonArray[14]=buttonPercent;
buttonArray[15]=button4;
buttonArray[16]=button5;
buttonArray[17]=button6;
buttonArray[18]=buttonTime;
buttonArray[19]=buttonBackwards;
buttonArray[20]=button1;
buttonArray[21]=button2;
buttonArray[22]=button3;
buttonArray[23]=buttonMinus;
buttonArray[24]=buttonEqual;
buttonArray[25]=button0;
buttonArray[26]=buttonDot;
buttonArray[27]=buttonPlus;
for(inti=0;i buttonArray[i].setMargin(newInsets(3,5,3,5)); } stock=""; displayTop=""; displayBottom=""; firstOP=""; secondOP=""; result=""; firstInt=0; secondInt=0; resultInt=0; firstFloat=0f; secondFloat=0f; resultFloat=0f; op=OP_NULL; plusFlag=true; minusFlag=true; timeFlag=true; divFlag=true; dotFlag=true; equalFlag=true; errorFlag=false; } publicvoidcreateGUI(){ frame.setJMenuBar(menuBar); menuBar.add(checkMenu); menuBar.add(editMenu); menuBar.add(helpMenu); checkMenu.add(standardItem); editMenu.add(copyItem); editMenu.add(pasteItem); helpMenu.add(aboutItem); //settingthelayoutofpanel GridBagLayoutla
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 JAVA 实现 Win7 系统 计算器 周久扬
![提示](https://static.bdocx.com/images/bang_tan.gif)