Applet小应用程序设计及异常处理要点.docx
- 文档编号:5361569
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:16
- 大小:58.89KB
Applet小应用程序设计及异常处理要点.docx
《Applet小应用程序设计及异常处理要点.docx》由会员分享,可在线阅读,更多相关《Applet小应用程序设计及异常处理要点.docx(16页珍藏版)》请在冰豆网上搜索。
Applet小应用程序设计及异常处理要点
XX实验报告
学号:
年月日
系别
专业
班级
姓名
课程名称
学时数
实验名称
JAVA基本程序设计结构
实验目的和要求:
使用JApplet实现某一门课程的分数录入系统,界面包括学号、姓名、班级、班号、成绩的输入域和一个录入按扭。
(1)当用户单击录入按扭时,程序检查各输入域中是否有非空的数据,若有空域则抛出一个Exception对象;同时程序检查成绩输入域,如果不是数值信息,或是负的数值信息,也抛出相应的异常。
在抛出异常之前应提供详细的信息说明,从而使使用该程序的用户了解所出现的问题,同时考虑上述异常出现时程序应该如何处理。
(2)练习并掌握Eclipse编程环境下的断点设置、单步跟踪和变量检查等各种调试技巧。
程序源代码:
packagejappletcoursescore;
publicclassStudent
{
//定义各变量
privateStringnumber;//学号
privateStringname;//姓名
privateStringsex;//性别
privateStringbanji;//班级
privateStringgrade;//班号
privateStringcourse;//课程
privateStringscore;//成绩
publicStudent(Stringnumber,Stringname,Stringsex,Stringbanji,Stringgrade,Stringcourse,Stringscore)
{
this.number=number;
this.name=name;
this.sex=sex;
this.banji=banji;
this.grade=grade;
this.course=course;
this.score=score;
}
//封装number变量
publicvoidsetNumber(Stringnumber)
{
this.number=number;
}
publicStringgetNumber()
{
returnnumber;
}
//封装name变量
publicvoidsetName(Stringname)
{
this.name=name;
}
publicStringgetName()
{
returnname;
}
//封装sex变量
publicvoidsetSex(Stringsex)
{
this.sex=sex;
}
publicStringgetSex()
{
returnsex;
}
//封装banji变量
publicvoidsetBanji(Stringbanji)
{
this.banji=banji;
}
publicStringgetBanji()
{
returnbanji;
}
//封装grade变量
publicvoidsetGrade(Stringgrade)
{
this.grade=grade;
}
publicStringgetGrade()
{
returngrade;
}
//封装course变量
publicvoidsetCourse(Stringcourse)
{
this.course=course;
}
publicStringgetCourse()
{
returncourse;
}
//封装score变量
publicvoidsetScore(Stringscore)
{
this.score=score;
}
publicStringgetScore()
{
returnscore;
}
}
packagejappletcoursescore;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassScoreManageTestextendsJAppletimplementsActionListener//实现ActionListener接口
{
ScoreInsertscoreinsert=null;//定义类对象并附初值空
JMenuBarbar;
JMenumenu;
JMenuIteminsert,pos;
Containercon=null;
CardLayoutcard=null;
JLabellabel;//标签类极其对象
JPanelpanel;
publicScoreManageTest()
{
insert=newJMenuItem("录入某一门课程的分数");//各对象初始化附新值
pos=newJMenuItem("查询已经输入的成绩表");
bar=newJMenuBar();
menu=newJMenu("选项");
menu.add(insert);//添加以下选象到fileMenu对象
menu.add(pos);
bar.add(menu);
setJMenuBar(bar);
label=newJLabel("欢迎使用某一门课程的分数录入系统",JLabel.CENTER);//为label对象附值并进行字体、字型、前景色等设置
label.setFont(newFont("TimesRoman",Font.BOLD,28));//加粗
label.setForeground(Color.green);
insert.addActionListener(this);//给各对象添加监听器
card=newCardLayout();//初始对象
con=getContentPane();//取得组件添加到容器
scoreinsert=newScoreInsert();//初始化以下各对象
panel=newJPanel();
panel.setLayout(card);//panel面板添加到card布局管理器上
panel.add("欢迎语界面",label);//将以下信息添加到panel面板
panel.add("录入界面",scoreinsert);
add(panel,BorderLayout.CENTER);//将面板放入容器中央并使用新的布局管理器
validate();//强迫容器根据新的布局管理器重新摆放组建
}
publicvoidactionPerformed(ActionEvente)//定义actionPerformed方法,响应以下ActionEvent事件
{
if(e.getSource()==insert)//处理“录入”事件
{
card.show(panel,"录入界面");
}
}
publicvoidinit()
{
EventQueue.invokeLater(newRunnable()
{
publicvoidrun()
{
newScoreManageTest();//实例化该对象
}
});
}
}
packagejappletcoursescore;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.util.*;
importjappletcoursescore.ScoreManageTest.*;
importjappletcoursescore.Student.*;
publicclassScoreInsertextendsJPanelimplementsActionListener//继承JPanel类,实现ActionListener接口
{
JTextField学号,姓名,班级,班号,课程,成绩;
JRadioButton男,女;
ButtonGroupgroup=null;
JButton录入,重置;
JTextAreatextArea=newJTextArea(20,40);
publicScoreInsert()
{
学号=newJTextField(20);
姓名=newJTextField(20);
班级=newJTextField(20);
班号=newJTextField(20);
课程=newJTextField(20);
成绩=newJTextField(20);
group=newButtonGroup();
男=newJRadioButton("男",true);
女=newJRadioButton("女",false);
group.add(男);//将按钮加到group
group.add(女);
录入=newJButton("录入");
重置=newJButton("重置");
录入.addActionListener(this);//给各对象添加监听器
重置.addActionListener(this);
Boxbox1=Box.createHorizontalBox();//水平对齐各项
box1.add(newJLabel("请输入学号:
",JLabel.CENTER));
box1.add(学号);
Boxbox2=Box.createHorizontalBox();
box2.add(newJLabel("请输入姓名:
",JLabel.CENTER));
box2.add(姓名);
Boxbox3=Box.createHorizontalBox();
box3.add(newJLabel("性别:
",JLabel.CENTER));
box3.add(男);
box3.add(女);
Boxbox4=Box.createHorizontalBox();
box4.add(newJLabel("请输入班级:
",JLabel.CENTER));
box4.add(班级);
Boxbox5=Box.createHorizontalBox();
box5.add(newJLabel("请输入班号:
",JLabel.CENTER));
box5.add(班号);
Boxbox6=Box.createHorizontalBox();
box6.add(newJLabel("请输入课程名:
",JLabel.CENTER));
box6.add(课程);
Boxbox7=Box.createHorizontalBox();
box7.add(newJLabel("请输入成绩:
",JLabel.CENTER));
box7.add(成绩);
Boxbox8=Box.createHorizontalBox();
box8.add(textArea);
BoxboxH=Box.createVerticalBox();//垂直对齐以下各项
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box4);
boxH.add(box5);
boxH.add(box6);
boxH.add(box7);
boxH.add(box8);
boxH.add(Box.createVerticalGlue());
JPanelpCenter=newJPanel();
pCenter.add(boxH);
setLayout(newBorderLayout());
add(pCenter,BorderLayout.CENTER);//将面板放入容器中央并使用新的布局管理器
JPanelpSouth=newJPanel();
pSouth.add(录入);//添加两个按纽到面板
pSouth.add(重置);
add(pSouth,BorderLayout.NORTH);
validate();//强迫容器根据新的布局管理器重新摆放组建
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==录入)
{
Stringnumber=学号.getText();//定义一个number字符串,获得输入学号的内容
if(number.length()>0)//输入学号后,将输入Text中的内容赋值给下列变量
{
Stringname=姓名.getText();
if(name.length()>0)
{
Stringbanji=班级.getText();
if(banji.length()>0)
{
Stringgrade=班号.getText();
if(grade.length()>0)
{
Stringcourse=课程.getText();
if(course.length()>0)
{
Stringscore=成绩.getText();
if(score.length()>0)
{
Stringsex=null;
textArea.append("学号:
"+学号.getText()+"\n");
textArea.append("姓名:
"+姓名.getText()+"\n");
if(男.isSelected())//选择性别
{
textArea.append("性别:
"+男.getText()+"\n");
}
else
{
textArea.append("性别:
"+女.getText()+"\n");
}
textArea.append("班级:
"+班级.getText()+"\n");
textArea.append("班号:
"+班号.getText()+"\n");
textArea.append("课程:
"+课程.getText()+"\n");
textArea.append("成绩:
"+成绩.getText()+"\n");
textArea.append("\n");
JOptionPane.showMessageDialog(null,"录入成功");//提示录入成功
}
else
{
Stringwarning="请输入成绩!
";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
}
else
{
Stringwarning="请输入课程名!
";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
}
else
{
Stringwarning="请输入班号!
";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
}
else
{
Stringwarning="请输入班级!
";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
}
else
{
Stringwarning="请输入姓名!
";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
}
else//没有输入学号
{
Stringwarning="请输入学号!
";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
}
if(e.getSource()==重置)//重置,各值附空
{
学号.setText(null);
姓名.setText(null);
班级.setText(null);
班号.setText(null);
课程.setText(null);
成绩.setText(null);
}
}
}
运行结果:
实验总结:
通过本次实验,我对如何捕获异常,如何处理异常有了更进一步的认识,把原来比较含糊的概念,现在理的比较清晰,总而言之,在实验课上我收获很大,在以后的实验课当中,我一定会再接再厉,争取做到更好,提高自己的编程能力与思维能力。
成绩
批阅教师
批阅日期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Applet 应用 程序设计 异常 处理 要点