java课程设计文档天娱粉丝管理系统.docx
《java课程设计文档天娱粉丝管理系统.docx》由会员分享,可在线阅读,更多相关《java课程设计文档天娱粉丝管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
java课程设计文档天娱粉丝管理系统
附件二:
天娱粉丝管理系统
系统编程文档
题目:
天娱粉丝管理系统
班级:
姓名:
指导老师:
2011年6月24日
一、需求分析
粉丝是从传统大众发展而来的一群最积极、最主动的人群。
一方面,作为“文本盗猎者”,他们会有意识地参与到传播活动之中,创造出一套具有完整的生产及流通体系的粉丝文化;另一方面,作为目标市场的消费者,他们的消费潜力以及消费行为还撬动了一个巨大的粉丝产业。
当今时代追星已成为一种风气,有一个自己喜欢的明星,找一个精神支撑。
作为现代的我们当然有自己的所爱,由于自己对于天娱群星的喜爱,所以希望建立一个专属天娱粉丝网的网站,但自己能力有限,不能做到很完美。
基本上实现增删改查的功能,能查到自己所喜爱的明星,并在天娱粉丝网注册上自己的名字,成为其中的一员。
为广大粉丝朋友提供一个娱乐的平台。
二、概要设计
1、模块划分
登陆界面
查询天娱艺人基本资料,明星详细资料,粉丝阵营,注册新粉丝,退出粉丝阵营,修改密码
2、数据库设计
设计了三张基本表,粉丝表,明星表,粉丝阵营表
建立数据库中的表时设置了主键,主键默认为聚簇索引,提高了查询速度。
见登陆表时建立了触发器用来实现表的级联更改和数据的复杂完整性约束
三、详细设计
1.模块1
程序名称
登陆界面
功能描述
实现用户的登录登陆成功,进入主界面
开发者
起止日期
2011-5-20------2011-6-2
记录界面实现效果、实现思想、关键技术、代码优化等方面。
首先取消布局管理器用设置坐标的方法来设置组件对于密码框的设置采用了JPasswordField然后对登录按钮设置监听通过和数据库连接来查看是否用户名和密码正确
错误则弹出对话框提示再次输入
login.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
booleanflag=loginDao.checkUser(j1.getText(),j2.getText());
if(flag==true){
newMainFrame();
f.dispose();
}
else{
j1.setText("");
j2.setText("");
JDialogd=newJDialog();
JLabelj=newJLabel();
j.setText("用户名或密码不正确,请重新输入");
d.add(j);
d.setVisible(true);
d.setSize(200,120);
}
}
});
2.模块2
程序名称
主界面
功能描述
增删改查的基本功能,查询明星信息,增加粉丝,退出粉丝阵营,修改密码
开发者
起止日期
2011-6-5------2011-6-7
记录界面实现效果、实现思想、关键技术、代码优化等方面。
通过把图片加到按钮上实现对图片的监听,点击每一张图片会出现这个明星的详细资料,和查询明星服务中的效果一样,点击天娱艺人资料,会出现两个级联菜单会返回数据库中的表,明星基本表和明星粉丝表
//返回数据库中一张表信息为所有艺人的基本资料
getAll.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
if(e.getActionCommand().equals("所有明星资料"))
newStarFrame();
}
});
//查询所喜欢的明星为各个艺人构造一个新的窗口
b1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
newChenFrame();
}
});
ChenXiang.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
if(e.getActionCommand().equals("陈翔"))
newChenFrame();
}
});
构造的新的窗口
JFramef=newJFrame("陈翔资料集");
publicChenFrame()
{
f.setLayout(null);
JPanelp1=newJPanel();
JPanelp2=newJPanel();
p1.setBounds(10,10,110,130);
p2.setBounds(10,130,750,300);
p1.add(newJLabel(newImageIcon("icons/陈翔.png")));
p2.add(newJLabel(newImageIcon("icons/陈翔简介.jpg")));
f.add(p1);
f.add(p2);
f.setSize(800,500);
f.setVisible(true);
f.addWindowListener(newWindowAdapter(){
publicvoidwindowClosed(WindowEvente)
{
System.exit(0);
}
});
}
3.模块3
程序名称
天娱艺人资料
功能描述
查询明星基本资料
开发者
起止日期
2011-6-9------2011-6-12
记录界面实现效果、实现思想、关键技术、代码优化等方面。
通过查询资料来返回数据库中的一张表。
让粉丝了解明星的基本信息,粉丝阵营的信息
privateJTabletable;
publicStarFrame(){
this.setTitle("天娱艺人资料");
table=newJTable();//创建JTable对象
DefaultTableModeltableModel=(DefaultTableModel)table.getModel();//获取JTable相关的数据模型
String[]heads=newString[]{"姓名","性别","生日","星座","身高"};//设置JTable列名
tableModel.setColumnIdentifiers(heads);
JScrollPanescrollpane=newJScrollPane(table);
StarDaostarDao=newStarDao();
Listlist=starDao.getAll();
updateTable(list,tableModel);
this.add(scrollpane);
this.setBounds(100,200,400,250);
this.setVisible(true);
}
//更新Table里的数据模型
privatevoidupdateTable(Listlist,DefaultTableModeltableModel){
Iteratori=list.iterator();
while(i.hasNext()){
Stars=(Star)i.next();
//数据行
Vectorrow=newVector();
row.add(s.getName());
row.add(s.getSex());
row.add(s.getBirthday());
row.add(s.getConstellation());
row.add(s.getHeight());
//将数据添加到数据模型里
tableModel.addRow(row);
}
}
4.模块4
程序名称
申请加入粉丝营
功能描述
粉丝注册
开发者
起止日期
2011-6-14------2011-6-18
记录界面实现效果、实现思想、关键技术、代码优化等方面。
通过申请加入粉丝阵营可以成为明星的粉丝,明星的粉丝人数会增加一个,可以在明星阵营中查询,自己的记录可以在粉丝阵营中查到,成功注册后可以登录到这个系统中。
注册成功后会弹出一个对话框,提示成功
否则输入有误,包括用户名重复明星输入不正确,也会弹出一个对话框,提示有误
publicstaticbooleanApply(StringName,StringPassword,StringStar){
Connectioncon=DBConn.getConnection();
Stringsql="insertintologin(用户名,密码,喜爱明星)values('"+Name+"','"+Password+"','"+Star+"')";
try{
Statementsta=con.createStatement();
sta.executeUpdate(sql);
sta.close();
con.close();
returntrue;
}catch(SQLExceptione){
e.printStackTrace();
}
returnfalse;
booleanflag=newApplyDao().Apply(j1.getText(),j2.getText(),j3.getText());
if(flag==true)
{
JDialogd=newJDialog();
JLabelj1=newJLabel();
j1.setText("注册成功,你已成为粉丝阵营中一员,为你喜爱的明星增加了一个人气");
JLabelj2=newJLabel();
j2.setText("你可以去已注册的粉丝中查一下你的记录");
JPanelp=newJPanel();
p.setBounds(0,0,460,300);
d.add(p);
p.add(newJLabel(newImageIcon("icons/蝴蝶.gif")));
j1.setBounds(10,310,460,20);
j2.setBounds(10,350,460,20);
d.add(j1);
d.add(j2);
d.setLayout(null);
d.setVisible(true);
d.setSize(460,420);
f.dispose();
}
else
{
j1.setText("");