实验报告模板.docx
- 文档编号:12288267
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:19
- 大小:80.98KB
实验报告模板.docx
《实验报告模板.docx》由会员分享,可在线阅读,更多相关《实验报告模板.docx(19页珍藏版)》请在冰点文库上搜索。
实验报告模板
实验报告
(2013/2014学年第二学期)
课程名称
Java语言程序设计
实验名称
综合图形界面程序设计
实验时间
2014年5月5日
指导单位
计算机学院软件教学中心
指导教师
薛景
学生姓名
臧玉付
班级学号
12001037
学院(系)
计算机学院
专业
计算机科学与技术
(计算机通信)
实验名称
综合图形界面程序设计
指导教师
薛景
实验类型
上机
实验学时
2
实验时间
2014-5-5
一、实验目的
1.学习使用JavaSwing设计GUI界面
2.学习Java的事件监听机制的基本原理
3.学习监听器处理Java中的事件
二、实验环境
1.每位同学配备实验计算机一台
2.安装JDK和Eclipse
三、实验内容
1、编写一个算数测试小软件,用来训练小学生的算数能力。
程序有3个类组成,其中Teacher对象充当监视器,负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame对象负责为算数题目提供视图,比如用户可以通过ComputerFrame对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。
(请在下方空白处填写本程序的全部程序代码及软件界面截图)
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassComputerFrameextendsJFrame{
JMenuBarmenubar;
JMenuchoiceGrade;
JMenuItemgrade1,grade2;
JTextFieldtextOne,textTwo,textResult;
JButtongetProblem,giveAnwser;
JLabeloperatorLabel,message;
TeacherteacherZhang;
ComputerFrame(){
teacherZhang=newTeacher();
teacherZhang.setMaxInteger(20);
setLayout(newFlowLayout());
menubar=newJMenuBar();
choiceGrade=newJMenu("选择级别");
grade1=newJMenuItem("幼儿级别");
grade2=newJMenuItem("儿童级别");
grade1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
teacherZhang.setMaxInteger(10);
}
});
grade2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
teacherZhang.setMaxInteger(50);
}
});
choiceGrade.add(grade1);
choiceGrade.add(grade2);
menubar.add(choiceGrade);
setJMenuBar(menubar);
textOne=newJTextField(5);
textTwo=newJTextField(5);
textResult=newJTextField(5);
operatorLabel=newJLabel("+");
operatorLabel.setFont(newFont("Arial",Font.BOLD,20));
message=newJLabel("你还没有回答呢");
getProblem=newJButton("获取题目");
giveAnwser=newJButton("确认答案");
add(getProblem);
add(textOne);
add(operatorLabel);
add(textTwo);
add(newJLabel("="));
add(textResult);
add(giveAnwser);
add(message);
textResult.requestFocus();
textOne.setEditable(false);
textTwo.setEditable(false);
getProblem.setActionCommand("getProblem");
textResult.setActionCommand("answer");
giveAnwser.setActionCommand("answer");
teacherZhang.setJTextField(textOne,textTwo,textResult);
teacherZhang.setJLabel(operatorLabel,message);
getProblem.addActionListener(teacherZhang);
giveAnwser.addActionListener(teacherZhang);
textResult.addActionListener(teacherZhang);
setVisible(true);
validate();
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}
importjava.util.Random;
importjava.awt.event.*;
importjavax.swing.*;
publicclassTeacherimplementsActionListener{
intnumberOne,numberTwo;
Stringoperator="";
booleanisRinght;
Randomrandom;//用于给出随机数
intmaxInteger;//题目中最大的整数
JTextFieldtextOne,textTwo,textResult;
JLabeloperatorLabel,message;
Teacher(){
random=newRandom();
}
publicvoidsetMaxInteger(intn){
maxInteger=n;
}
publicvoidactionPerformed(ActionEvente){
Stringstr=e.getActionCommand();
if(str.equals("getProblem")){
numberOne=random.nextInt(maxInteger)+1;//1至maxInteger之间的随机数
numberTwo=random.nextInt(maxInteger)+1;
doubled=Math.random();//获取(0,1)之间的随机数
if(d>=0.5)
operator="+";
else
operator="-";
textOne.setText(""+numberOne);
textTwo.setText(""+numberTwo);
operatorLabel.setText(operator);
message.setText("请回答");
textResult.setText(null);
}
elseif(str.equals("answer")){
Stringanswer=textResult.getText();
try{intresult=Integer.parseInt(answer);
if(operator.equals("+")){
if(result==numberOne+numberTwo)
message.setText("你回答正确");
else
message.setText("你回答错误");
}
elseif(operator.equals("-")){
if(result==numberOne-numberTwo)
message.setText("你回答正确");
else
message.setText("你回答错误");
}
}
catch(NumberFormatExceptionex){
message.setText("请输入数字符号");
}
}
}
publicvoidsetJTextField(JTextField...t){
textOne=t[0];
textTwo=t[1];
textResult=t[2];
}
publicvoidsetJLabel(JLabel...label){
operatorLabel=label[0];
message=label[1];
}
}
publicclassMainClass{
publicstaticvoidmain(Stringargs[]){
ComputerFrameframe;
frame=newComputerFrame();
frame.setTitle("算数测试");
frame.setBounds(100,100,650,180);
}
}
2、编写一个简单的计算器软件,实现简单的四则运算。
(请在下方空白处填写本程序的全部程序代码及软件界面截图)
importjava.awt.BorderLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.JTextArea;
importjavax.swing.JTextField;
publicclasstestextendsJFrame{
privatefinalintBUTTON_WIDTH=50;
privatefinalintBUTTON_HEIGHT=40;
JButtonone=newJButton("1");
JButtontwo=newJButton("2");
JButtonthree=newJButton("3");
JButtonfour=newJButton("4");
JButtonfive=newJButton("5");
JButtonsix=newJButton("6");
JButtonseven=newJButton("7");
JButtoneight=newJButton("8");
JButtonnine=newJButton("9");
JButtonzero=newJButton("0");
JButtonDOT=newJButton(".");
JButtonADD=newJButton("+");
JButtonSUB=newJButton("-");
JButtonMUL=newJButton("*");
JButtonDIV=newJButton("/");
JButtonEQU=newJButton("=");
JButtonCLEAR=newJButton("clear");
JTextFieldtext=newJTextField(20);
Stringb="";
Stringfirst="";//第一个数
Stringsecond="";//第二个数
Stringresult;//计算结果
Stringsymbol="";//符号
intCONTRAL_ONE=0;
publictest()
{
setTitle("calculator");
setResizable(false);
setBounds(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);
}
ActionListenerlistener=newActionListener(){
publicvoidactionPerformed(ActionEvente)
{Stringa=e.getActionCommand();
if(a=="+"||a=="-"||a=="*"||a=="/")
{
first=b;
symbol=a;
b="";
}
elseif(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);
}
}
};
publicvoidADD_COMPONOENT()
{
add(one);
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.setBounds(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(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,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,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_WIDTH,BUTTON_HEIGHT);
EQU.addActionListener(listener);
}
publicStringgetresult(Stringfirst,Stringsecond,Stringsymble){
doublea=0;
doubleb=0;
if(first!
="")
a=Double.parseDouble(first);
if(second!
="")
b=Double.parseDouble(second);
doublec=0;
if(symble=="+")
c=a+b;
elseif(symble=="-")
c=a-b;
elseif(symble=="*")
c=a*b;
elseif(symble=="/")
c=a/b;
return""+(float)c;
};
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
newtest();
}
}
3、使用JavaSwing中的各个组件,编写一个自定义的软件界面,例如:
学生成绩管理系统、图书馆管理系统、人事管理系统等等(请在下方空白处填写本程序的全部程序代码及软件界面截图)
importjava.awt.*;
importjava.awt.event.*;
classWinextendsFrameimplementsActionListener
{
MenuBarbar;
Menumenu1,menu2,menu3,menu4;
MenuItemitem1,item2,item3,item4,item5,item6,item7,item8;
TextAreatext;
Win(Strings)
{
super(s);
bar=newMenuBar();
menu1=newMenu("文件");
menu2=newMenu("编辑");
menu3=newMenu("查看");
menu4=newMenu("查找");
item1=newMenuItem("打开");item2=newMenuItem("保存");
item3=newMenuItem("撤消");item4=newMenuItem("复制");
item5=newMenuItem("光标指示");item6=newMenuItem("全屏显示");
item7=newMenuItem("查找");item8=newMenuItem("替换");
text=newTextArea("显示信息文本框");
menu1.add(item1);menu1.addSeparator();menu1.add(item2);
menu2.add(item3);menu2.addSeparator();menu2.add(item4);
menu3.add(item5);menu3.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.addActionListener(this);
item7.addActionListener(this);
item8.addActionListener(this);
setVisible(true);setBounds(100,120,100,90);
}
publicv
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告 模板
![提示](https://static.bingdoc.com/images/bang_tan.gif)