4.3客户端各个模块的实现
1、政治思想素质模块的实现:
本模块的界面主要是利用Java的awt包及swing包开发的,界面实现如图5
所示:
图5 政治思想素质计算界面
本模块是由政治素质、法纪观念、学习态度、品德修养、劳动实践、奖惩得分,其他得分共七个小模块够成的,各小模块的容器面板都是继承自swing包的Jpanel,而且其中的各个元素,如:复选框、文本框等采用GridLayout布局管理。各个小模块作为一个类来设计,其中包含构造函数,getscore()方法及getbeizhu()方法,分别取得本小模块的得分,及得分的原因。选取其中的政治素质模块描述其实现过程(其他模块类似)如下:
class Zhengzhisuzhi extends Zuhemianban //政治素质类,详见源代码
{ …… //类内部成员的声明
public Zhengzhisuzhi(){ …… } //构造函数,实现界面的布局
public float getscore() //获取政治素质得分
{ beizhu=""; //用于存放得分理由
float score=18; //基本分18分
if(this.malie.getState()) //如果“马列理论学习优”有选中
{ score+=1; //加上该项的得分
beizhu+=this.malie.getLabel()+";"; //得分理由加入备注字符串中
}
…… //其他得分项类似处理
return score; //将得分值返回
}
public String getbeizhu() //获取备注内容
{ return beizhu; }
}
2、业务学习成绩计算模块
业务学习成绩的界面如图6所示:
图6 业务学习成绩计算界面图
其中一个科目就是一个小模块,而且这些科目的信息是从服务器端的“课程信息表”中获取的,这些科目组合就够成了业务学习成绩计算的主要部分。但由于这些科目是动态生成的,而不是设计时给定的,所以必须用一个数组链表存储这些动态生成的科目类实例,才可能在计算出业务学习得分的过程中得到必须的数据。也因其是动态生成的,所以实现过程相对比较复杂,其核心代码如下:
public Yewuxuexi (InetAddress ip) //构造函数传入服务器的IP地址
{ …… //建立与服务器通信的数据输入输出流,并提交初始化请求
xinxis=datain.readUTF().split(":"); //读取初始化数据
for(int i=1;i<xinxis.length;i++)
{ String[] kechengxinxi=xinxis[i].split(",");
Xuexichengji xuexichengji=new Xuexichengji(kechengxinxi[0],
Float.parseFloat(kechengxinxi[1].trim()),kechengxinxi[2]);
//实例化一门科目,并将其加入面板中
this.add(xuexichengji);
//将其加入数组链表中,为下面计算课程的学分成绩提供数据
this.arraylist.add(xuexichengji); } //for
} //Yewuxuexi
public float getscore() //获取各门课程的学分成绩总和
{ float sum=0; //初始化成绩为0
for(int i=0;i<this.arraylist.size();i++)
{ //遍历链表中的每个元素,并将得分累加
sum=sum+((Xuexichengji)(arraylist.get(i))).getscore();
}
return sum; //将得分作为该方法的返回值返回
}
3、智能素质模块
智能素质的模块实现界面如图7所示:
图7 智能素质计算界面图
该模块是由科研能力、社会工作能力、师范生技能、文艺活动能力、其他得分5个小模块组合成的,其实现过程与政治思想素质的实现过程类似,这里不再赘述。
4、体育素质模块
体育素质模块实现界面如图8所示:
图8 体育素质计算界面图
本模块实现过程与政治思想素质的实现过程也类似,这里不再赘述。
5、成绩上传模块
成绩上传模块的实现界面如图9所示:
图9 成绩上传界面图
该模块类继承自java.awt包中的Frame类,当用户输入的学号与密码正确时,才能将成绩上传,其实现的核心代码如下:
//综合测评得分情况插入数据库的SQL语句
strshangchuan=strshangchuan + "insert into 综合测评成绩表 values('"
+this.xuehao.getText().trim()+"'," + this.sqlzongheceping + ")";
String[] temps=this.yewuxuexi.split(":");
//业务学习得分情况插入数据库的SQL语句
String temp=":insert into 业务学习成绩表(学号,备注" +temps[0] +")
values('" +this.xuehao.getText().trim()+"','"+temps[2] +"'" + temps[1]+ ")";
strshangchuan+=temp;
6、用户密码修改模块
用户密码修改模块的实现界面如图10所示:
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>