一、目标:通过Java程序开发实训使学生掌握《面向对象程序设计(Java)》课堂讲授的内容,灵活运用到Java程序的开发与设计中。二、要求:按时参加Java程序开发实训训练,不得迟到和早退;独立完成程序设计;按要求撰写实践报告。三、详细内容:使用《面向对象程序设计(Java)》课程讲授内容,编写一个简单的计算器,要求实现如下功能:1.进行图形界面设计通过图形界面设计,掌握JFrame类、JPanel类、5种布局管理器、文本框、标签及按钮的使用方法。2.实现计算器的基本功能包括加减乘除四则运算、倒数、平方根及清除结果等功能。3.实现计算器的存储计算功能包括存储中间结果(MS)、使用中间结果(MR)、累加中间结果(M+)及清除中间结果(MC)的功能。4.计算器的扩展功能实用标准文案精彩文档包括乘方、对数、正弦、余弦、正切、余切、反正弦、反余弦、反正切、反余切及2进制、8进制、16进制、10进制之间的相互转换等功能。四、源代码importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.FlowLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyEvent;importjava.text.DecimalFormat;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTextArea;importjavax.swing.JTextField;publicclassjsqimplementsActionListener{//导入动作监听接口//设计面板中的单位JFrameframe;//窗口JTextFieldtextAnswer;//文本JPanelpanel,panel1,panel2,panel3;//面版JMenuBarmainMenu;//菜单JTextFieldtextMemory;JLabellabelMemSpace;//labelMemSpace单纯做摆设,控制面板的形状JButtonbuttonBk,buttonCe,buttonC;JButtonbutton[];//按钮数组JButtonbuttonMC,buttonMR,buttonMS,buttonMAdd;//清除,使用,储存,添加JButtonbuttonDot,buttonAddAndSub,buttonAdd,buttonSub,buttonMul,buttonDiv,buttonMod;JButtonbuttonSqrt,buttonDao,buttonEqual;JMenueditMenu,viewMenu,helpMenu;JMenuItemcopyItem,pasteItem,tItem,sItem,numberGroup,实用标准文案精彩文档topHelp,aboutCal;DecimalFormatdf;//设置数据输出精度booleanclickable;//控制当前能否按键doublememoryd;//使用内存中存储的数字intmemoryi;doublevard,answerd;//用来保存double型数据的中间值(vard)和最后结果(answerd)shortkey=-1,prekey=-1;//key用来保存当前进行何种运算,prekey用来保存前次进行何种运算Stringcopy;//做复制用JTextAreahelp;//帮助JScrollPanescrollHelp;//构造函数publicjsq(){clickable=true;answerd=0;frame=newJFrame("计算器");df=newDecimalFormat("0.##############");//设置数据输出精度(对于double型值)textAnswer=newJTextField(15);textAnswer.setText("");textAnswer.setEditable(false);textAnswer.setBackground(newColor(255,255,255));panel=newJPanel();frame.getContentPane().add(panel);panel1=newJPanel();panel2=newJPanel();panel.setLayout(newBorderLayout());//设计整个面板mainMenu=newJMenuBar();editMenu=newJMenu("编辑(E)");editMenu.setMnemonic(KeyEvent.VK_E);viewMenu=newJMenu("查看(V)");viewMenu.setMnemonic(KeyEvent.VK_V);helpMenu=newJMenu("帮助(H)");helpMenu.setMnemonic(KeyEvent.VK_H);mainMenu.add(editMenu);mainMenu.add(viewMenu);mainMenu.add(helpMenu);panel.add(mainMenu,BorderLayout.NORTH);panel.add(textAnswer,BorderLayout.CENTER);panel.add(panel1,BorderLayout.SOUTH);panel1.setLayout(newBorderLayout());实用标准文案精彩文档textMemory=newJTextField(3);textMemory.setEditable(false);textMemory.setBackground(newColor(217,217,217));labelMemSpace=newJLabel("");buttonBk=newJButton("Backspace");buttonBk.setForeground(newColor(255,0,0));button...