Java程序设计报告24928Word格式.docx
《Java程序设计报告24928Word格式.docx》由会员分享,可在线阅读,更多相关《Java程序设计报告24928Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
按钮以及显示信息的文本框,通过流布局管理器美化用户注册和登录界面;
2.通过AWT事件类和事件监听器接口实现提示信息和变化信息,具体有
WindowEvent窗口事件类、WindowListener窗口事件监听器接口、MouseListener
鼠标事件监听接口等;
3.AWT组件类中注册事件监听器:
*.addMouseListener(this)注册鼠标事件监听器
*.addWindowListener(this)注册窗口事件监听器
关键问题的解决方法:
问题:
没有注册事件监听器
添加语句addActionListener(this)
没有判断输入是否为空
加入语句if(tfd1.getText().equals("
"
)||tfd2.getText().equals("
))
八、算法及流程图
九、调试过程中出现的问题及相应解决办法
1、出现的问题:
1)在设计系统界面的时候不知道怎样进行界面布局。
2)在改变界面大小的时候,无法把握大小。
3)在鼠标监听时,出现了意向不到的错误。
4)程序无法判断输入的姓名和密码是否有效。
2、解决办法:
1)不懂的问老师和同学
2)改变相关数值,使之在视觉上和谐美观。
3)运用MyEclipse的各种快捷键写代码,减少文字错误。
4)预测各种可能出现的程序Bug,尽量减少Bug的出现。
十、课程设计心得体会
在实验室的这几天,一开始不是特别重视课程设计的要求,这直接导致后来做题的种种困难。
但后来看到大部分同学勤学好问的行为,我一心静下心来敲代码,然而这并没有使我感到顺心顺意。
后来总结才发现:
编程的基本思想没有掌握,只会拼死敲代码,最终带来的是——时间浪费了,方法也没有学会。
费力却没有成效的事情不能干,想到这里,我都会提醒自己编程前一定要做好准备工作,所谓成功不负有心人。
程序里的各种方法的实现没有很好地利用,导致程序冗长复杂,给人的直观感受一点也不像编程员,反而让人嘲笑。
我没有学习有关程序的编写规范,因此程序看上去一点也不专业。
由于程序是自己独自编写完成,下面的源程序存在许多Bug,这让我明白:
小组合作能将程序做得更完美。
十一、源程序
packagecn.hncu.helloworld;
importjava.awt.Button;
importjava.awt.Color;
importjava.awt.FlowLayout;
importjava.awt.Font;
importjava.awt.Frame;
importjava.awt.Label;
importjava.awt.TextField;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjava.awt.event.WindowListener;
importjavax.swing.JColorChooser;
publicclassMyFrame1extendsFrameimplementsActionListener,MouseListener{
intcardNumber;
intmax=9999;
intmin=1000;
TextFieldtfd1=null;
TextFieldtfd2=null;
TextFieldtfd3=null;
Buttonbtn_zhuce=null;
Buttonbtn_denglu=null;
Buttonbtn_choujiang=null;
Buttonbtn_color=null;
booleanisDenglu=false;
privateStringusername;
privateStringpassword;
publicMyFrame1(Stringstr){
super(str);
setLocation(100,100);
Toolkittk=Toolkit.getDefaultToolkit();
intwidth=tk.getScreenSize().width/5;
setSize(width,200);
this.setLayout(newFlowLayout());
Labellb1=newLabel("
姓名:
);
add(lb1);
tfd1=newTextField(15);
add(tfd1);
Labellb2=newLabel("
密码:
add(lb2);
tfd2=newTextField(15);
add(tfd2);
btn_zhuce=newButton("
注册"
add(btn_zhuce);
btn_denglu=newButton("
登录"
add(btn_denglu);
btn_choujiang=newButton("
抽奖"
add(btn_choujiang);
btn_color=newButton("
颜色..."
add(btn_color);
Colorc=newColor(170,170,170);
setBackground(c);
Fontf=newFont("
hncu"
Font.BOLD,16);
tfd1.setFont(f);
tfd2.setFont(f);
lb1.setFont(f);
lb2.setFont(f);
btn_zhuce.setFont(f);
btn_denglu.setFont(f);
btn_choujiang.setFont(f);
tfd1.addMouseListener(this);
tfd2.addMouseListener(this);
btn_denglu.addActionListener(this);
btn_zhuce.addActionListener(this);
btn_color.addActionListener(this);
btn_choujiang.addActionListener(this);
Labellb3=newLabel("
提示:
lb3.setFont(f);
add(lb3);
tfd3=newTextField(30);
add(tfd3);
this.addWindowListener(newWinClose());
setResizable(true);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==btn_zhuce){
if(tfd1.getText().equals("
)){
tfd3.setText("
姓名或密码不能为空!
return;
}
username=tfd1.getText();
password=tfd2.getText();
tfd3.setText("
注册成功!
+"
+username+"
\t密码:
+password);
tfd1.setText("
tfd2.setText("
}
if(e.getSource()==btn_denglu){
if(tfd1.getText().equals("
tfd3.setText("
if(username.equals(tfd1.getText())&
&
password.equals(tfd2.getText())){
tfd3.setText("
登录成功!
}
else{
tfd1.setText("
tfd2.setText("
请核对你的姓名和密码!
return;
isDenglu=true;
cardNumber=(int)(Math.random()*(max-min))+min;
if(e.getSource()==btn_choujiang){
if(isDenglu){
int[]luckynums=newint[5];
for(inti=0;
i<
luckynums.length;
i++){
luckynums[i]=(int)(Math.random()*(max-min))+min;
if(luckynums[i]==cardNumber){
tfd3.setText("
恭喜!
你获得今日奖品"
}
else{
谢谢惠顾!
return;
if(e.getSource()==btn_color){
Colorc=JColorChooser.showDialog(this,"
颜色调节"
Color.black);
this.setBackground(c);
publicstaticvoidmain(String[]args){
newMyFrame1("
publicvoidmouseClicked(MouseEventarg0){
publicvoidmouseEntered(MouseEventarg0){
Stringstr;
if(arg0.getSource()==tfd1){
str=tfd1.getText();
if(str.equals("
)){
tfd1.setText("
输入合法字符"
tfd1.setFont(newFont("
fa"
Font.CENTER_BASELINE,12));
else{
if(arg0.getSource()==tfd2){
tfd2.setText("
输入密码不超过8位"
tfd2.setFont(newFont("
publicvoidmouseExited(MouseEventarg0){
if(arg0.getSource()==tfd1){
tfd1.setText("
if(arg0.getSource()==tfd2){
tfd2.setText("
publicvoidmousePressed(MouseEventarg0){
publicvoidmouseReleased(MouseEventarg0){
参考文献
[1]温昱.软件架构设计[M].北京:
电子工业出版社,2007:
157-177.
[2]叶核亚.Java程序设计实用教程(第3版)[M].北京:
电子工业出版社,2010.
[3]霍斯特曼.Java核心技术[M].北京:
机械工业出版社,2008.
[4]BruceEckel.Java编程思想[M].北京:
机械工业出版社,2009.
[5]刘欣怡.软件工程[M].北京:
清华大学出版社,2007.