数组件都有其自己的由Java外观类所支持的视图,而并不依赖于本机系统类。所以,Swing组件集都为轻量级组件。
·可插入外观组件(PluggableLook-and-feel)允许应用程序能够在不重新启动的情况下看到Swing组件的外观效果。通常,本机外观效果是针对程序所运行的特定系统平台来确定的(如Windows和Motif等)。而由于Swing支持跨平台的外观(也称为Java外观),使得应用程序不论在哪个操作系统平台上运行都具有同样的效果。固本系统所有的界面均选用JavaSwing进行开发。
4.5.2用JTree实现公司部门人员分类
Jtree使用人们熟悉的文件夹和树叶图来显示分层的数据。应用最广泛的树组件无疑是WindowsExplorer,它包含一个用于导航目录的树组件。
树由许多类和接口组成,这些类和接口在swing.tree包中定义,swing包中的JTree类代表树组件。树由节点组成,节点可以是文件夹,也可以是树叶。文件夹可以是子节点,除根节点之外的所有节点都是只有一个父节点。查询树中的文件夹和树叶都来自数据库,因此树的结构很复杂。本系统树组件位于系统主界面的左侧,用于员工的分类查询,它可以清楚地描述各部门,各员工的层次关系,使企业的组织机构一目了然。本系统树组件实现的代码:
publicJTreejbInit()throwsException{//方法的返回类型为JTree
booleanflag=true;
StringbuMenName;
DefaultMutableTreeNodetop=newDefaultMutableTreeNode("公司各部门成员一览");
//定义树根
StringsearchBuMenName="select*fromBuMen";
StringsearchBuMen;
StringuserName;
ResultSetr1=stmR.executeQuery(searchBuMenName);
inti=-1;//使list可以取到
while(r1.next()){
i=i+1;
buMenName=r1.getString("BuMenName");
searchBuMen="select*fromYongHuwhereBuMen='"+buMenName+"'";
//从用户表里查找属于该部门的成员
ResultSetr2=stmR.executeQuery(searchBuMen);
DefaultMutableTreeNodedmtn=newDefaultMutableTreeNode(buMenName);
//定义树枝
list.add(dmtn);//将树枝保存到list表中
while(r2.next()){
userName=r2.getString("UserName");
DefaultMutableTreeNodedmtn1=newDefaultMutableTreeNode(userName);
//建立树叶
dmtn.add(dmtn1);//将树叶加到树枝上
}
r2.close();
r1=stmR.executeQuery(searchBuMenName);
for(intj=0;j<=i;j++){
r1.next();//使r1继续执行
}
top.add(dmtn);//把树枝与树叶加到根
}
r1.close();
tree=newJTree(top);//初始化JTree
JScrollPanejsp=newJScrollPane(tree);
//将JTree包含到JScrollPane中使JTree加上滚动条
returntree;
}
以上代码可以根据数据库服务器上的YongHu表动态的生成Jtree,这棵树可以清楚地体现整公司各部门,各员工之间的关系
在查询中,树节点选取是很重要的,当双击某一节点时,要能提取该节点的信息,并同时击活一个事件.下面结出了本系统的addMouseListener()和mousePressed()方法.
voidjTree1_mouseClicked(MouseEvente){//树click
ListgetSelect=gouZaoJTree.treeConsult(e);//得到所选择的对象
list=getSelect;
jTextArea2.setText("");
if(list.size()==1){//发送对象为1个
jComboBox1.setVisible(false);
StringlistText=list.get(0).toString();
if(listText.equals("请选择成员或部门")){//如果什么都没选
jTextArea2.setText("请选择成员或部门");
}
else{//选择一个对象的情况
jTextArea2.setText("发送对象:"+listText);
listIP.clear();//清空listIP列表
searchIP="selectIPAddressfromYongHuwhereUserName='"+listText+
"'";//找到选择用户的IP地址
StringipAddress;
try{
ResultSetr4=stmR.executeQuery(searchIP);
while(r4.next()){
ipAddress=r4.getString("IPAddress");//得到IP地址
listIP.add(ipAddress);//将IP地址保存到列表中
}
r4.close();
}
catch(SQLExceptionex){
ex.printStackTrace();
}
}
}
elseif(list.size()==gouZaoJTree.getChengYuanCount()){
//发送对象为整个公司
jComboBox1.setVisible(false);
jTextArea2.setText("发送对象:公司所有成员");
listIP.clear();
searchIP="selectIPAddressfromYongHu";
StringipAddress;
try{
ResultSetr4=stmR.executeQuery(searchIP);
while(r4.next()){
ipAddress=r4.getString("IPAddress");
listIP.add(ipAddress);
}
r4.close();
}
catch(SQLExceptionex){
ex.printStackTrace();
}
}
else{//发送对象为整个部门
jComboBox1.setVisible(true);
jTextArea2.append("发送对象:"+list.get(0).toString().replaceAll("",""));
for(inti=1;i
jTextArea2.append(","+list.get(i).toString().replaceAll("",""));
}
jComboBox1.removeAllItems();//选择要发送的组
jComboBox1.addItem("发送至部门内所有人");
listZu.clear();
for(inti=0;i
booleanflag=true;
StringselectZu="selectZufromYongHuwhereUserName='"+
list.get(i).toString()+"'";
try{
ResultSetr3=stmR.executeQuery(selectZu);
Stringstr="";
while(r3.next()){
str=r3.getString("Zu");
}
for(intj=0;j
if(str.equals(listZu.get(j))){
flag=false;
break;
}
}
if(flag){
listZu.add(str);
jComboBox1.addItem(str);
}
r3.close();
}
catch(SQLExceptionex){
ex.printStackTrace();
}
}
当用户点击tree,它会根据具体的情况返回你点击的职员的资料,当点击部门时,用户可以选择部门下的某个组进行群发,也可以给整个部门群发,当点击某个用户时可以给该用户发送消息,当点击整个公司时可以给整个公司的成员进行群发。这样会节省发送人的很多时间。
第五章结束语
本文在分析中国办公自动化现状和存在问题基础上,分析了中国办公自动化的特点和要求,并根据南开创元信息技术有限公司的实际情况,开发了一个颇具特色的办公自动化系统--极光,它代表快速,高效与界面美观并存。在实际应用中得到了较好的效果。在本文中介绍了极光办公自动化系统的体系结构、开发思想、功能模块设置。
最后,系统还存在以下不足之处,以后应该改进:
1)本地的数据库设置多余,应该把服务器IP地址保存在本地的文本文件中,将信息记录直接保存在服务器上。这样就免去了用户在本地安装SQLServer的麻烦。
2)系统的功能有些单薄需进一步完善。
致谢
首先感谢我的导师管宝云老师在毕业设计期间对我在学业上的悉心指导和生活上的无私帮助。他渊博的知识体系、严谨的治学态度和无尽的求新精神给了我潜移默化的影响,帮助我顺利地完成了毕业设计和论文,而这一切也将会指导我在今后的学习和工作中取得更大的成绩。
同时我还要感谢在毕业设计期间给予我无私帮助的同学和老师,感谢他们在精神上、物质上给予我的支持,有了他们才使我顺利完成毕业设计。
最后,感谢评审老师在百忙中抽出时间对我的论文进行批评指正,谢谢!
参考文献
[1][美]LouisDavidson著,《SQLServer2000数据库设计权威指南》
中国电力出版社,2003年4月
[2]刘韬楼兴华著,《SQLServer2000数据库系统开发实例导航》,人民邮电出版社,2004年5月
[3]丁宝康主编,《数据库原理》,经济科学出版社,2000年5月
[4]罗晓沛主编,《数据库技术》,华中科技大学出版社,2000年8月
[5] 陈宗兴著,《SQLServer程序设计超级管理篇》,中国铁道出版社
2002年8月出版
[6]吴其庆著,《JBuilder9编程思想与实践》,冶金工业出版社,2003年10月
[7]陆正中著,《JBuilder9软件开发项目实践》,清华大学出版,2004年3月
[8]埃克尔侯捷著,《JAVA编程思想》,机械工业出版社,2002年2月1日
[9]邵荣著,《Java编程实践指南》,清华大学出版社,2003年6月1日
[10]姜浩著,《办公自动化系统及其应用》,清华大学出版社,2004年5月
[11]冯继生著,《办公自动化与网络技术》,人民出版社,2003年12月1日
[12]李铄著,《办公自动化技术》,蓝色畅想出版社,2003年7月1日
[13](美)哈格等著,《信息时代的管理信息系统》,机械工业出版社
2004年3月
[14]吴琮璠谢清佳著,《管理信息系统》,复旦大学出版社,2003年10月
??
??
??
??
目录
目录
摘要
ABSTRACT
目录
第一章概述
31
第二章系统分析
第三章系统设计
第四章极光办公自动化系统的技术支持与实施
第五章结束语
致谢
参考文献
上一篇:
JAVAJME贪吃蛇游戏的设计(论文和程序)
下一篇:
试题库管理系统毕业论文