




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计A(Java)实验报告实验名称:_GUI实验_ _实验类型:_实验性实验_指导教师:_刘涌_专业班级: _园艺1002_姓 名:_林少芳_学 号:_20103379_实验地点:_东六E-313 _ _ 日期: 2013 年 4 月 14 日实验三 GUI实验一、实验目的练习面向对象的图形用户界面设计、界面布局、事件设计方法。二、实验内容设计一个类似Windows计算器的Application应用程序。三、实验设计仿照Windows计算器,设计界面。将contentPane分成两个jPanel(borderlayout),其中一个放置文本框,另一个继续划分为两部分,分别以FlowLayout和GridLayout的形式放置按钮。按要求设置按钮,文本框等的Text值,及相应属性的修改。设计方法:设两个变量value1,value2分别存储运算符左右两个操作数,设置标识符flag,初值为0,此时输入的数传给value1,当按下+-*时设置flag为1,此时输入的数字传给value2;即:int value1=0; int value2=0; int flag=0; String op=;void method(int v) if (flag=0) value1=value1*10+v; String s=String.valueOf(value1); Text.setText(s+.); else value2=value2*10+v; String s=String.valueOf(value2); Text.setText(s+.); 按下”=”时,根据value1,value2及op值进行计算并输出至文本框。即: void equral_mouseClicked(MouseEvent e) if(op=+) value1 = value1 + value2; else if(op=-) value1 = value1 - value2; else if(op=*) value1 = value1 * value2; else if(op=) value1=value1/value2; Text.setText(value1+.); 四、实验过程实验过程:1、采用Java Application方式建立应用程序框架;2、仿照Windows计算器,利用多种布局方式实现界面设计;3、完成简单的整数加、减、乘、除运算。设计过程出现的问题:如何设置按钮为下凹?在properties中将border值设为loweredBleve当op=”时提示错误;解决方法:将其改为”;如何将输入的数字转化为字符串型?解决方法:String s=String.valueOf(value1);五、实验结果界面设计:运行效果七、附录:关键代码(给出适当注释,可读性高)package text2;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Frame1 extends JFrame JPanel contentPane; JMenuBar jMenuBar1 = new JMenuBar(); JMenu jMenuFile = new JMenu(); JMenuItem jMenuFileExit = new JMenuItem(); JMenu jMenuHelp = new JMenu(); JMenuItem jMenuHelpAbout = new JMenuItem(); BorderLayout borderLayout1 = new BorderLayout(); JMenuItem jMenuItem1 = new JMenuItem(); JMenuItem jMenuItem2 = new JMenuItem(); JMenuItem jMenuItem3 = new JMenuItem(); JMenu jMenu1 = new JMenu(); JMenuItem jMenuItem4 = new JMenuItem(); JMenuItem jMenuItem5 = new JMenuItem(); JPanel jPanel1 = new JPanel(); JPanel jPanel2 = new JPanel(); JTextField Text = new JTextField(); BorderLayout borderLayout2 = new BorderLayout(); JPanel jPanel3 = new JPanel(); JPanel jPanel4 = new JPanel(); BorderLayout borderLayout5 = new BorderLayout(); FlowLayout flowLayout1 = new FlowLayout(); JButton C = new JButton(); JButton CE = new JButton(); JButton Backspace = new JButton(); JButton kong = new JButton(); JButton MC = new JButton(); JButton aorm = new JButton(); JButton subtract = new JButton(); JButton one = new JButton(); JButton equral = new JButton(); JButton three = new JButton(); JButton MR = new JButton(); JButton zore = new JButton(); JButton add = new JButton(); JButton MS = new JButton(); JButton percent = new JButton(); JButton M = new JButton(); JButton doc = new JButton(); JButton two = new JButton(); JButton multiply = new JButton(); JButton daoshu = new JButton(); GridLayout gridLayout1 = new GridLayout(); JButton six = new JButton(); JButton jButton7 = new JButton(); JButton five = new JButton(); JButton four = new JButton(); JButton sqrt = new JButton(); JButton divide = new JButton(); JButton nine = new JButton(); JButton eight = new JButton(); JButton seven = new JButton(); int value1=0; int value2=0; int flag=0; String op=; /Construct the frame public Frame1() enableEvents(AWTEvent.WINDOW_EVENT_MASK); try jbInit(); catch(Exception e) e.printStackTrace(); /Component initialization private void jbInit() throws Exception contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(400, 300); this.setTitle(Frame Title); jMenuFile.setText(编辑(E); jMenuFileExit.setText(复制); jMenuFileExit.addActionListener(new Frame1_jMenuFileExit_ActionAdapter(this); jMenuHelp.setText(查看); jMenuHelpAbout.setText(标准型); jMenuHelpAbout.addActionListener(new Frame1_jMenuHelpAbout_ActionAdapter(this); jMenuItem1.setText(粘贴); jMenuItem2.setText(科学型); jMenuItem3.setText(数学分组); jMenu1.setText(帮助); jMenuItem4.setText(帮助主题); jMenuItem5.setText(关于计算器); Text.setDebugGraphicsOptions(0); Text.setText(0.); Text.setHorizontalAlignment(SwingConstants.RIGHT); jPanel2.setLayout(borderLayout2); jPanel4.setLayout(flowLayout1); jPanel4.setDebugGraphicsOptions(0); jPanel3.setLayout(gridLayout1); jPanel1.setLayout(borderLayout5); C.setText(C); CE.setText(CE); Backspace.setText(Backspace); kong.setDebugGraphicsOptions(0); kong.setHorizontalAlignment(SwingConstants.CENTER); kong.setHorizontalTextPosition(SwingConstants.TRAILING); kong.setText(); MC.setText(MC); aorm.setActionCommand(+/-); aorm.setText(+/-); subtract.setText(-); subtract.addActionListener(new Frame1_subtract_actionAdapter(this); one.setText(1); one.addActionListener(new Frame1_one_actionAdapter(this); gridLayout1.setColumns(6); gridLayout1.setHgap(3); gridLayout1.setRows(4); gridLayout1.setVgap(3); jMenuFile.setText(File); jMenuFileExit.setText(Exit); jMenuFileExit.addActionListener(new Frame1_jMenuFileExit_ActionAdapter(this); jMenuHelp.setText(Help); jMenuHelpAbout.setText(About); jMenuHelpAbout.addActionListener(new Frame1_jMenuHelpAbout_ActionAdapter(this); seven.setText(7); seven.addMouseListener(new Frame1_seven_mouseAdapter(this); eight.setText(8); eight.addMouseListener(new Frame1_eight_mouseAdapter(this); nine.setText(9); nine.addMouseListener(new Frame1_nine_mouseAdapter(this); divide.setText(/); divide.addActionListener(new Frame1_divide_actionAdapter(this); sqrt.setText(sqrt); MR.setText(MR); four.setText(4); four.addActionListener(new Frame1_four_actionAdapter(this); five.setText(5); five.addActionListener(new Frame1_five_actionAdapter(this); six.setText(6); six.addActionListener(new Frame1_six_actionAdapter(this); two.setText(2); two.addActionListener(new Frame1_two_actionAdapter(this); three.setText(3); three.addActionListener(new Frame1_three_actionAdapter(this); zore.setText(0); zore.addActionListener(new Frame1_zore_actionAdapter(this); doc.setText(.); add.setText(+); add.addMouseListener(new Frame1_add_mouseAdapter(this); equral.setText(=); equral.addMouseListener(new Frame1_equral_mouseAdapter(this); daoshu.setText(1/X); daoshu.addActionListener(new Frame1_daoshu_actionAdapter(this); percent.setText(%); multiply.setText(*); multiply.addActionListener(new Frame1_multiply_actionAdapter(this); MS.setText(MS); M.setText(M+); jMenuFile.add(jMenuFileExit); jMenuHelp.add(jMenuHelpAbout); jMenuBar1.add(jMenuFile); jMenuBar1.add(jMenuHelp); this.setJMenuBar(jMenuBar1); jMenuFile.add(jMenuFileExit); jMenuFile.add(jMenuItem1); jMenuHelp.add(jMenuHelpAbout); jMenuHelp.add(jMenuItem2); jMenuHelp.add(jMenuItem3); jMenuBar1.add(jMenuFile); jMenuBar1.add(jMenuHelp); jMenuBar1.add(jMenu1); jMenu1.add(jMenuItem4); jMenu1.add(jMenuItem5); contentPane.add(jPanel1, BorderLayout.CENTER); contentPane.add(jPanel2, BorderLayout.NORTH); jPanel2.add(Text, BorderLayout.CENTER); jPanel1.add(jPanel4, BorderLayout.NORTH); jPanel1.add(jPanel3, BorderLayout.CENTER); jPanel4.add(kong, null); jPanel4.add(Backspace, null); jPanel4.add(CE, null); jPanel4.add(C, null); jPanel3.add(MC, null); jPanel3.add(seven, null); jPanel3.add(eight, null); jPanel3.add(nine, null); jPanel3.add(divide, null); jPanel3.add(sqrt, null); jPanel3.add(MR, null); jPanel3.add(four, null); jPanel3.add(five, null); jPanel3.add(six, null); jPanel3.add(multiply, null); jPanel3.add(percent, null); jPanel3.add(MS, null); jPanel3.add(one, null); jPanel3.add(two, null); jPanel3.add(three, null); jPanel3.add(subtract, null); jPanel3.add(daoshu, null); jPanel3.add(M, null); jPanel3.add(zore, null); jPanel3.add(aorm, null); jPanel3.add(doc, null); jPanel3.add(add, null); jPanel3.add(equral, null); /File | Exit action performed public void jMenuFileExit_actionPerformed(ActionEvent e) System.exit(0); /Help | About action performed public void jMenuHelpAbout_actionPerformed(ActionEvent e) Frame1_AboutBox dlg = new Frame1_AboutBox(this); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation(frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setModal(true); dlg.pack(); dlg.show(); /Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) cessWindowEvent(e); if (e.getID() = WindowEvent.WINDOW_CLOSING) jMenuFileExit_actionPerformed(null); void method(int v) if (flag=0) value1=value1*10+v; String s=String.valueOf(value1); Text.setText(s+.); else value2=value2*10+v; String s=String.valueOf(value2); Text.setText(s+.); /*public int Getnumber() String s1=Text.getText() ; s1=s1.substring(0,s1.length()-1); int x=Integer.parseInt(s1) ; return x; */ void seven_mouseClicked(MouseEvent e) method(7); void eight_mouseClicked(MouseEvent e) method(8); void add_mouseClicked(MouseEvent e) flag = 1; op=+; void equral_mouseClicked(MouseEvent e) if(op=+) value1 = value1 + value2; else if(op=-) value1 = value1 - value2; else if(op=*) value1 = value1 * value2; else if(op=) value1=value1/value2; Text.setText(value1+.); void nine_mouseClicked(MouseEvent e) method(9); void four_actionPerformed(ActionEvent e) method(4); void five_actionPerformed(ActionEvent e) method(5); void six_actionPerformed(ActionEvent e) method(6); void one_actionPerformed(ActionEvent e) method(1); void two_actionPerformed(ActionEvent e) method(2); void three_actionPerformed(ActionEvent e) method(3); void zore_actionPerformed(ActionEvent e) method(0); void subtract_actionPerformed(ActionEvent e) flag=1; op=-; void multiply_actionPerformed(ActionEvent e) flag=1; op=*; void divide_actionPerformed(ActionEvent e) flag=1; op=; void daoshu_actionPerformed(ActionEvent e) class Frame1_jMenuFileExit_ActionAdapter implements ActionListener Frame1 adaptee; Frame1_jMenuFileExit_ActionAdapter(Frame1 adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.jMenuFileExit_actionPerformed(e); class Frame1_jMenuHelpAbout_ActionAdapter implements ActionListener Frame1 adaptee; Frame1_jMenuHelpAbout_ActionAdapter(Frame1 adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.jMenuHelpAbout_actionPerformed(e); class Frame1_seven_mouseAdapter extends java.awt.event.MouseAdapter Frame1 adaptee; Frame1_seven_mouseAdapter(Frame1 adaptee) this.adaptee = adaptee; public void mouseClicked(MouseEvent e) adaptee.seven_mouseClicked(e); class Frame1_eight_mouseAdapter extends java.awt.event.MouseAdapter Frame1 adaptee; Frame1_eight_mouseAdapter(Frame1 adaptee) this.adaptee = adaptee; public void mouseClicked(MouseEvent e) adaptee.eight_mouseClicked(e); class Frame1_add_mouseAdapter extends java.awt.event.MouseAdapter Frame1 adaptee; Frame1_add_mouseAdapter(Frame1 adaptee) this.adaptee = adaptee; public void mouseClicked(MouseEvent e) adaptee.add_mouseClicked(e); class Frame1_equral_mouseAdapter extends java.awt.event.MouseAdapter Frame1 adaptee; Frame1_equral_mouseAdapter(Frame1 adaptee) this.adaptee = adaptee; public void mouseClicked(MouseEvent e) adaptee.equral_mouseClicked(e); class Frame1_nine_mouseAdapter extends java.awt.event.MouseAdapter Frame1 adaptee; Frame1_nine_mouseAdapter(Frame1 adaptee) this.adaptee = adaptee; public void mouseClicked(MouseEvent e) adaptee.nine_mouseClicked(e); class Frame1_four_actionAdapter implements java.awt.event.ActionListener Frame1 adaptee; Frame1_four_actionAdapter(Frame1 adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.four_actionPerformed(e); class Frame1_five_actionAdapter implements java.awt.event.ActionListener Frame1 adaptee; Frame1_five_actionAdapter(Frame1 adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.five_actionPerformed(e); class Frame1_six_actionAdapter implements java.awt.event.ActionListener Frame1 adaptee; Frame1_six_actionAdapter(Frame1 adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.six_actionPerformed(e); class Frame1_one_actionAdapter implements java.awt.event.ActionListener Frame1 adaptee; Frame1_one_actionAdapter(Frame1 adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.one_actionPerformed(e); class Frame1_two_actionAdapter implements java.awt.event.ActionListener Frame1 adaptee; Frame1_two_actionAdapter(Frame1 adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.two_actionPerformed(e); class Frame1_three_actionAdapter implements java.awt.event.ActionL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工厂急救知识培训记录课件
- 数据可视化课件模板
- 线上预订线下采摘园创新创业项目商业计划书
- 大葱创新创业项目商业计划书
- 自动驾驶船舶技术创新创业项目商业计划书
- 淡水鱼苗繁育基地创新创业项目商业计划书
- 盐类的水解教学课件
- 盐城管理培训课件网
- 初步设计公路方案
- 化脓性脑膜炎护理
- 走好群众路线-做好群众工作(黄相怀)课件
- 混凝土结构设计原理教学教案
- 民间文学(全套课件)
- 专升本00465心理卫生与心理辅导历年试题题库(考试必备)
- 既有重载铁路无缝线路改造及运维技术探索
- 2022年教师副高职称评答辩范文(七篇)
- 高压罗茨风机选型参数表
- 中国监察制度史
- 架桥机日常检查记录表架桥机验收及试吊安全检查表
- 屠宰加工企业组织机构职能分配表正式版
- 善交益友、乐交诤友、不交损友(课堂PPT)
评论
0/150
提交评论