《java计算器》word版.doc_第1页
《java计算器》word版.doc_第2页
《java计算器》word版.doc_第3页
《java计算器》word版.doc_第4页
《java计算器》word版.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实 习 报 告题目: 高级程序语言设计(Java) 系部名称: 经济管理系 专业班级: 信管104 学生姓名: 张扬程 学 号: 201004034432 指导教师: 王志辉 刘帆 教师职称: 讲师 2011年12月30日import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.border.*;import java.text.DecimalFormat; public class JSQ JFrame frame; JMenuBar mb; JMenu m1,m2,m3; JMenuItem copy,cut,paste,content,index,b,k,s; Font t;JButton bN,bS;ImageIcon img; JTextField text;GridBagLayout gridbag;GridBagConstraints c; JPanel p1,p2; JLabel label; private boolean IfResult = true, flag = false; private String operation = =; private double result = 0; private Num numActionListener;private DecimalFormat df; public JSQ ( ) frame=new JFrame(计算器); df = new DecimalFormat(#.#); img=new ImageIcon(图片/图片.jpg);frame.setIconImage(img.getImage();frame.setResizable(false);frame.setBounds(200,200,320,280);Container c1=frame.getContentPane(); mb=new JMenuBar( ); m1=new JMenu(编辑(E); copy=new JMenuItem(复制(C) Ctrl+C); paste=new JMenuItem(粘贴(P) Ctrl+V); m2=new JMenu(查看(V); b=new JMenuItem(标准型(T); k=new JMenuItem(科学型(S); s=new JMenuItem(数字分组(I); m3=new JMenu(帮助(H); content=new JMenuItem(帮助主题(H); index=new JMenuItem(关于计算器(A); t=new Font(sanserif,Font.PLAIN,12); addEditMenu(); addViewMenu(); addHelpMenu();addJMenuBar(); frame.setJMenuBar(mb); c=new GridBagConstraints(); gridbag=new GridBagLayout(); p1=new JPanel();c1.add (p1); p1.setLayout(gridbag);text=new JTextField(0.,25); text.setBackground(Color.white);p2=new JPanel(); text.setHorizontalAlignment(JTextField.RIGHT); text.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED); text.setEditable(false); p2.add(text);label=new JLabel ( ); c = newGridBagConstraints(0,1,1,1,0,0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,new Insets(0,2,0,2),0,0); gridbag.setConstraints(label,c); label.setFont(new Font(Serif,Font.PLAIN,15); label.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED); p1.add(label); numActionListener = new Num(); addJPanel(p2,0,0,6,1); addJButton(Backspace,1,1,2,1,Color.red,new Clear(); addJButton(CE,3,1,2,1,Color.red,new Clear(); addJButton(C,5,1,1,1,Color.red,new Clear(); addJButton(MC,0,2,1,1,Color.red,new Clear(); addJButton(MR,0,3,1,1,Color.red,new Clear(); addJButton(MS,0,4,1,1,Color.red,new Clear(); addJButton(M+,0,5,1,1,Color.red,new Clear(); addJButton(7,1,2,1,1,Color.blue,numActionListener); addJButton(4,1,3,1,1,Color.blue,numActionListener); addJButton(1,1,4,1,1,Color.blue,numActionListener); addJButton(0,1,5,1,1,Color.blue,numActionListener); addJButton(8,2,2,1,1,Color.blue,numActionListener); addJButton(5,2,3,1,1,Color.blue,numActionListener); addJButton(2,2,4,1,1,Color.blue,numActionListener); addJButton(9,3,2,1,1,Color.blue,numActionListener); addJButton(6,3,3,1,1,Color.blue,numActionListener); addJButton(3,3,4,1,1,Color.blue,numActionListener); addJButton(+/-,2,5,1,1,Color.blue,numActionListener); addJButton(.,3,5,1,1,Color.blue,numActionListener); addJButton(/,4,2,1,1,Color.red,new Signs(); addJButton(*,4,3,1,1,Color.red,new Signs(); addJButton(-,4,4,1,1,Color.red,new Signs(); addJButton(+,4,5,1,1,Color.red,new Signs(); addJButton(Sqrt,5,2,1,1,Color.blue,new Signs(); addJButton(%,5,3,1,1,Color.blue,new Signs(); addJButton(1/x,5,4,1,1,Color.blue,new Signs();addJButton(=,5,5,1,1,Color.red,new Signs(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); private void addEditMenu()m1.add( copy);m1.addSeparator();m1.add( paste);m1.setFont(t); private void addViewMenu()m2.add(b);m2.addSeparator();m2.add(k);m2.addSeparator();m2.add(s);m2.setFont(t); private void addHelpMenu() m3.add(content); m3.add(index); m3.addSeparator();m3.setFont(t); private void addJMenuBar() mb.add(m1); mb.add(m2); mb.add(m3);private void addJPanel(String name,int gridx,int gridy,int gridwidth,int gridheight ) c.gridx=gridx; c.gridy=gridy; c.gridwidth=gridwidth; c.gridheight=gridheight; gridbag.setConstraints(p2,c);p1.add(p2); private void addJButton(String name,int gridx,int gridy,int gridwidth,int gridheight,Color yanse,ActionListener action)JButton button =new JButton(name); button.addActionListener(action);c.gridx=gridx;c.gridy=gridy;c.gridwidth=gridwidth;c.gridheight=gridheight;c.anchor=GridBagConstraints.CENTER;button.setForeground(yanse);c.insets=new Insets(3,2,3,2);gridbag.setConstraints(button,c);p1.add(button);class Num implements ActionListenerpublic void actionPerformed(ActionEvent e)String str = e.getActionCommand();if(IfResult)text.setText(str);IfResult = false;else text.setText(text.getText().trim() + str);if(text.getText().equals(0)text.setText(0);IfResult = true;flag = true;private void getResult (double x)if(operation = +) result += x; else if(operation = -) result -= x; else if(operation = *) result *= x; else if(operation = /) result /= x; else if(operation = =) result = x; text.setText(df.format(result); class Signs implements ActionListener public void actionPerformed(ActionEvent e) String str = e.getActionCommand(); if( str.equals(%) ) text.setText(df.format(Double.parseDouble(text.getText() / 100);else if ( flag ) IfResult = false;If ( IfResult ) operation = str; else getResult(Double.parseDouble(text.getText();operation = str;IfResult = true;class Clear implements ActionListenerpublic void actionPerformed(ActionEvent e) String str = e.getActionCommand();if(str = C)text.setText(0);IfResult = true;result = 0;else if(str = -/+)double i = 0 - Double.parseDouble (text.getText( ).trim();text.setText(df.format(i); else if(str = Backspace)if(Double.parseDouble(text.getText() 0)if(text.getText().length() 1)text.setText(text.getText().substring(0,text.getText()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论