实验报告模板_第1页
实验报告模板_第2页
实验报告模板_第3页
实验报告模板_第4页
实验报告模板_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、.实验报告(2013 / 2014 学年 第 二 学期)课 程 名 称Java语言程序设计实 验 名 称综合图形界面程序设计实 验 时 间2014年5月5日指 导 单 位计算机学院 软件教学中心指 导 教 师薛景学 生 姓 名臧玉付班 级 学 号12001037学 院(系)计算机学院专 业计算机科学与技术(计算机通信).实验名称综合图形界面程序设计指导教师薛景实验类型上机实验学时2实验时间2014-5-5一、实验目的1.学习使用Java Swing设计GUI界面2.学习Java的事件监听机制的基本原理3.学习监听器处理Java中的事件二、实验环境1.每位同学配备实验计算机一台2.安装JDK和E

2、clipse三、实验内容1、编写一个算数测试小软件,用来训练小学生的算数能力。程序有3个类组成,其中Teacher对象充当监视器,负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame对象负责为算数题目提供视图,比如用户可以通过ComputerFrame对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。(请在下方空白处填写本程序的全部程序代码及软件界面截图)import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ComputerFram

3、e extends JFrameJMenuBar menubar;JMenu choiceGrade;JMenuItem grade1,grade2;JTextField textOne,textTwo,textResult;JButton getProblem,giveAnwser;JLabel operatorLabel,message;Teacher teacherZhang;ComputerFrame()teacherZhang = new Teacher();teacherZhang.setMaxInteger(20);setLayout(new FlowLayout();menub

4、ar = new JMenuBar();choiceGrade = new JMenu(选择级别);grade1 = new JMenuItem(幼儿级别);grade2 = new JMenuItem(儿童级别);grade1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)teacherZhang.setMaxInteger(10););grade2.addActionListener(new ActionListener()public void actionPerformed

5、(ActionEvent e)teacherZhang.setMaxInteger(50););choiceGrade.add(grade1);choiceGrade.add(grade2);menubar.add(choiceGrade);setJMenuBar(menubar);textOne=new JTextField(5);textTwo = new JTextField(5);textResult = new JTextField(5);operatorLabel = new JLabel(+);operatorLabel.setFont(new Font(Arial,Font.B

6、OLD,20);message = new JLabel(你还没有回答呢);getProblem= new JButton(获取题目);giveAnwser = new JButton(确认答案);add(getProblem);add(textOne);add(operatorLabel);add(textTwo);add(new JLabel(=);add(textResult);add(giveAnwser);add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(fals

7、e);getProblem.setActionCommand(getProblem);textResult.setActionCommand(answer);giveAnwser.setActionCommand(answer);teacherZhang.setJTextField(textOne,textTwo,textResult);teacherZhang.setJLabel(operatorLabel,message);getProblem.addActionListener(teacherZhang);giveAnwser.addActionListener(teacherZhang

8、);textResult.addActionListener(teacherZhang);setVisible(true);validate();setDefaultCloseOperation(DISPOSE_ON_CLOSE); import java.util.Random;import java.awt.event.*;import javax.swing.*;public class Teacher implements ActionListener int numberOne,numberTwo; String operator=; boolean isRinght; Random

9、 random;/用于给出随机数 int maxInteger;/题目中最大的整数 JTextField textOne,textTwo,textResult; JLabel operatorLabel,message;Teacher() random=new Random(); public void setMaxInteger(int n) maxInteger=n; public void actionPerformed(ActionEvent e) String str=e.getActionCommand(); if(str.equals(getProblem) numberOne=

10、random.nextInt(maxInteger)+1;/1至maxInteger之间的随机数 numberTwo=random.nextInt(maxInteger)+1; double d=Math.random(); /获取(0,1)之间的随机数 if(d=0.5) operator=+; else operator=-; textOne.setText(+numberOne); textTwo.setText(+numberTwo); operatorLabel.setText(operator); message.setText(请回答); textResult.setText(n

11、ull); else if(str.equals(answer) String answer=textResult.getText(); try int result=Integer.parseInt(answer); if(operator.equals(+) if(result=numberOne+numberTwo) message.setText(你回答正确); else message.setText(你回答错误); else if(operator.equals(-) if(result=numberOne-numberTwo) message.setText(你回答正确); el

12、se message.setText(你回答错误); catch(NumberFormatException ex) message.setText(请输入数字符号); public void setJTextField(JTextField .t) textOne=t0; textTwo=t1; textResult=t2; public void setJLabel(JLabel .label) operatorLabel=label0; message=label1; public class MainClasspublic static void main(String args)Co

13、mputerFrame frame ;frame = new ComputerFrame();frame.setTitle(算数测试);frame.setBounds(100,100,650,180); 2、编写一个简单的计算器软件,实现简单的四则运算。(请在下方空白处填写本程序的全部程序代码及软件界面截图)import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing

14、.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;public class test extends JFrame private final int BUTTON_WIDTH=50;private final int BUTTON_HEIGHT=40;JButton one=new JButton(1);JButton two=new JButton(2);JButton three=new JButto

15、n(3);JButton four=new JButton(4);JButton five=new JButton(5);JButton six=new JButton(6);JButton seven=new JButton(7);JButton eight=new JButton(8);JButton nine=new JButton(9);JButton zero=new JButton(0);JButton DOT=new JButton(.);JButton ADD=new JButton(+);JButton SUB=new JButton(-);JButton MUL=new J

16、Button(*);JButton DIV=new JButton(/);JButton EQU=new JButton(=);JButton CLEAR=new JButton(clear);JTextField text=new JTextField(20); String b=;String first=;/第一个数String second=;/第二个数String result;/计算结果String symbol=;/符号int CONTRAL_ONE=0;public test()setTitle(calculator);setResizable(false);setBounds

17、(500, 200, 200, 230); setLayout(null);add(text);text.setBounds(2, 10, 191, 30);text.setHorizontalAlignment(JTextField.RIGHT );text.setEditable(false);ADD_COMPONOENT();setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); ActionListener listener= new ActionListener() public void actionP

18、erformed(ActionEvent e) String a=e.getActionCommand();if(a=+ | a=- | a=* | a=/) first=b; symbol=a; b=; else if(a=) if(first=)first=result;second=b;result=getresult(first,second,symbol);text.setText(result); first=; second=; symbol=; b=;else b+=a;text.setText(b); ; public void ADD_COMPONOENT() add(on

19、e); one.setBounds(0, 50, BUTTON_WIDTH, BUTTON_HEIGHT); one.addActionListener(listener); add(two); two.setBounds(50, 50, BUTTON_WIDTH, BUTTON_HEIGHT); two.addActionListener(listener); add(three); three.setBounds(100, 50, BUTTON_WIDTH, BUTTON_HEIGHT); three.addActionListener(listener); add(DOT); DOT.s

20、etBounds(150, 50, BUTTON_WIDTH, BUTTON_HEIGHT); DOT.addActionListener(listener); add(four); four.setBounds(0, 90, BUTTON_WIDTH, BUTTON_HEIGHT); four.addActionListener(listener); add(five); five.setBounds(50, 90, BUTTON_WIDTH, BUTTON_HEIGHT); five.addActionListener(listener); add(six); six.setBounds(

21、100, 90, BUTTON_WIDTH, BUTTON_HEIGHT);six.addActionListener(listener); add(DIV); DIV.setBounds(150, 90, BUTTON_WIDTH, BUTTON_HEIGHT); DIV.addActionListener(listener); add(seven); seven.setBounds(0, 130, BUTTON_WIDTH, BUTTON_HEIGHT); seven.addActionListener(listener); add( eight); eight.setBounds(50,

22、 130, BUTTON_WIDTH, BUTTON_HEIGHT); eight.addActionListener(listener); add(nine); nine.setBounds(100, 130, BUTTON_WIDTH, BUTTON_HEIGHT); nine.addActionListener(listener); add(MUL); MUL.setBounds(150, 130, BUTTON_WIDTH, BUTTON_HEIGHT); MUL.addActionListener(listener); add(zero); zero.setBounds(0, 170

23、, BUTTON_WIDTH, BUTTON_HEIGHT); zero.addActionListener(listener); add(SUB); SUB.setBounds(50, 170, BUTTON_WIDTH, BUTTON_HEIGHT); SUB.addActionListener(listener); add(ADD); ADD.setBounds(100, 170, BUTTON_WIDTH, BUTTON_HEIGHT); ADD.addActionListener(listener); add(EQU); EQU.setBounds(150, 170, BUTTON_

24、WIDTH, BUTTON_HEIGHT); EQU.addActionListener(listener); public String getresult(String first, String second,String symble)double a=0;double b=0;if(first!=) a=Double.parseDouble(first);if(second!=) b= Double.parseDouble(second);double c=0;if(symble=+)c=a+b;else if(symble=-)c=a-b;else if(symble=*)c=a*

25、b;else if(symble=/)c=a/b;return +(float)c;public static void main(String args) / TODO Auto-generated method stubnew test();3、使用Java Swing中的各个组件,编写一个自定义的软件界面,例如:学生成绩管理系统、图书馆管理系统、人事管理系统等等(请在下方空白处填写本程序的全部程序代码及软件界面截图)import java.awt.*; import java.awt.event.*; class Win extends Frame implements ActionLi

26、stener MenuBar bar; Menu menu1,menu2,menu3,menu4; MenuItem item1,item2,item3,item4,item5,item6,item7,item8; TextArea text; Win(String s) super(s); bar=new MenuBar(); menu1=new Menu(文件); menu2=new Menu(编辑); menu3=new Menu(查看); menu4=new Menu(查找); item1=new MenuItem(打开);item2=new MenuItem(保存); item3=n

27、ew MenuItem(撤消);item4=new MenuItem(复制); item5=new MenuItem(光标指示);item6=new MenuItem(全屏显示); item7=new MenuItem(查找);item8=new MenuItem(替换); text=new TextArea(显示信息文本框); menu1.add(item1);menu1.addSeparator();menu1.add(item2); menu2.add(item3);menu2.addSeparator();menu2.add(item4); menu3.add(item5);menu3

28、.add(item6); menu4.add(item7);menu4.add(item8); bar.add(menu1);bar.add(menu2);bar.add(menu3);bar.add(menu4); setMenuBar(bar); add(text); item1.addActionListener(this); item2.addActionListener(this); item3.addActionListener(this); item4.addActionListener(this); item5.addActionListener(this); item6.ad

29、dActionListener(this); item7.addActionListener(this); item8.addActionListener(this); setVisible(true);setBounds(100,120,100,90); public void actionPerformed(ActionEvent e) if(e.getSource()=item1) text.setText(你点击了打开菜单项); validate(); else if(e.getSource()=item2) text.setText(你点击了保存菜单项); validate(); else if(e.g

温馨提示

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

评论

0/150

提交评论