Java语言程序设计教学课程设计项目——开发Web服务器项目中的相关技术实现.doc

上传人:数据九部 文档编号:10127274 上传时间:2021-04-21 格式:DOC 页数:10 大小:2.70MB
返回 下载 相关 举报
Java语言程序设计教学课程设计项目——开发Web服务器项目中的相关技术实现.doc_第1页
第1页 / 共10页
Java语言程序设计教学课程设计项目——开发Web服务器项目中的相关技术实现.doc_第2页
第2页 / 共10页
Java语言程序设计教学课程设计项目——开发Web服务器项目中的相关技术实现.doc_第3页
第3页 / 共10页
Java语言程序设计教学课程设计项目——开发Web服务器项目中的相关技术实现.doc_第4页
第4页 / 共10页
Java语言程序设计教学课程设计项目——开发Web服务器项目中的相关技术实现.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《Java语言程序设计教学课程设计项目——开发Web服务器项目中的相关技术实现.doc》由会员分享,可在线阅读,更多相关《Java语言程序设计教学课程设计项目——开发Web服务器项目中的相关技术实现.doc(10页珍藏版)》请在三一文库上搜索。

1、杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料1.1 开发Web服务器项目中的相关技术实现1、在JCreator中切换程序的显示方式(1)FileView将所有的程序文件添加到文件视图中,从而可以实现快速地进行文件切换以定位文件选择所有的Java程序l 类视图(ClassView):利用类视图可以实现在一个文件中快速地查找方法的声明l 通过查找达到快速切换2、树形控件的编程(1)本例的内容面板中所包含的各个组件的构成1) 利用CreateContentPanelAndComponent方法,代码请见其程序2) 分割面板的编程splitContentPane = new JSplitP

2、ane();splitContentPane.setOrientation(JSplitPane.HORIZONTAL_SPLIT); /设置分割方向为左右方向 splitContentPane.setContinuousLayout(true);/splitContentPane.setDividerLocation(screenSize.width/3);/设置分割条的初始位置,可以不需要而采用缺省值 splitContentPane.setDividerSize(3);/设置分割条的宽度为3个点宽contentPanel.add(splitContentPane,BorderLayout

3、.CENTER); /将分割面板加入到当前面板的中部注意:本例是在分割面板的左面包含有树控件,而在右面包含有表格控件(2)树控件的编程,利用CreateSystemTree方法1)利用DefaultMutableTreeNode创建树中的各个节点,如果它在第一级则为根节点,否则为子节点DefaultMutableTreeNode root=new DefaultMutableTreeNode(系统信息); DefaultMutableTreeNode firstNode1=new DefaultMutableTreeNode(本机信息); DefaultMutableTreeNode firs

4、tNode2=new DefaultMutableTreeNode(客户信息); DefaultMutableTreeNode firstNode3=new DefaultMutableTreeNode(Web 服务); DefaultMutableTreeNode firstNode4=new DefaultMutableTreeNode(代理服务); root.add(firstNode1); root.add(firstNode2); root.add(firstNode3); root.add(firstNode4); systemTree = new JTree(root);/此时的

5、root将为根节点2)树控件的事件编程:对树形控件来说,其事件主要是用户点击树中的各个节点,其事件的接口为MouseListenersystemTree.addMouseListener(this);3)在MouseListener事件的接口中的mousePressed事件方法中进行事件响应编程主要是要区分用户点击了那个节点以及节点的层次4)在内容面板中的分割面板中如何实现动态添加组件,利用validate()方法进行刷新。本例当用户对树控件进行操作时,将在右面显示出对应的结果。this.getContentPane().validate();5)改变树控件的外观systemTree.putC

6、lientProperty(JTree.lineStyle,Angled); /使其具有直角连线systemTree.putClientProperty(JTree.lineStyle,Horizontal); /使树的文件夹间具有水平分隔线6)更改节点的图标利用DefaultTreeCellRenderer类中的对应的方法DefaultTreeCellRenderer cellRenderer=(DefaultTreeCellRenderer)systemTree.getCellRenderer();cellRenderer.setOpenIcon(new ImageIcon(.imageo

7、pen.gif);/设置打开状态的图cellRenderer.setClosedIcon(new ImageIcon(.imageclose.gif); /设置关闭状态的图cellRenderer.setLeafIcon(new ImageIcon(.imagefile.gif); /设置树中叶节点的图/下面的代码是设置节点选中或者未选中的颜色 cellRenderer.setBackgroundNonSelectionColor(jspTree.getBackground(); cellRenderer.setBackgroundSelectionColor(Color.yellow); c

8、ellRenderer.setBorderSelectionColor(Color.red); cellRenderer.setTextNonSelectionColor(Color.black); cellRenderer.setTextSelectionColor(Color.blue);3、表格控件的动态创建编程实现(1)表格控件的动态创建本例由于涉及Web服务器和代理服务器,而且两者的显示信息要求不一样,因此分为两个不同表格来创建。因此采用CreateProxyTable和CreateWebTable方法来创建(2)背景图像的表格由于本例中的表格希望有背景图像,因此采用从缺省的表格Ta

9、ble类的基础上来继承,具体请见ImageTable类(3)动态创建表格-利用TableModel接口来实现并对该接口中的getColumnName、getColumnCount、getRowCount、getValueAt和getColumnClass等方法进行实现以自定义表格的特征。Swing中所提供的AbstractTableModel抽象类已经实现了大部分的TableModel方法。对表格中的数据采用Vector来进行封装。public void CreateWebTable()webTableAllRowsData = new Vector(); / Create all rows.

10、TableModel webTableDataModel = new AbstractTableModel() /该方法是创建出动态表格 public String getColumnName(int column) return webTableHeadcolumn; public int getColumnCount() return webTableHead.length; public int getRowCount() return webTableAllRowsData.size(); public Object getValueAt(int row, int column) /该

11、方法向系统返回表格中指定单元格的值 Vector tmpRowData = (Vector)webTableAllRowsData.elementAt(row); return tmpRowData.elementAt(column); public Class getColumnClass(int col) /返回指定列号的数据所在的数据类型的类 return getValueAt(0, col).getClass(); ; webInfoTable=new ImageTable(webTableDataModel);(3) 表格单元格中的数据在Web服务器和代理服务器的运行过程中所产生的数

12、据都保存在相应的Vector对象中,这样当表格再次显示时,将能够为表格提供新的数据。4、创建Splah Window(1)实现的原理创建出一个无标题条的窗口,在JavaSwing中是以JWindow类来代表,然后利用对主线程也就是进程休眠指定的时间以实现在屏幕上定格该窗口,当时间到后再继续下去。(2)实现的代码,请见CreateSplahWindow方法5、状态条中的分割面板的实现实现的基本原理是将状态条面板分割为不同的小段(分为6段),每一段内放入一个小面板,并设置其 Border属性为LoweredBevelBorder。请见CreateStatusBar方法。6、地球仪的动画的实现(1)

13、EarthTurnThread.java程序:实现原理是利用线程不断地更新状态条上的图片(2)启动线程在WebProxy.java中的CreateAndStartAllThread方法中创建和启动线程(3)在WebProxy.java中的CloseAndExitEvent事件方法中(当用户退出程序时)访问stopAllThread方法而实现终止线程。7、Java对象序列化和反序列化编程实现(1)Java对象序列化的应用利用Java对象序列化的技术以实现对本例中的用户的系统配置进行保存(当退出程序时利用WebProxy.java中的mainFrameObjectSerialize()方法),程序

14、启动时自动地去读起(利用WebProxy.java中的mainFrameObjectUnSerialize方法),从而可以实现对用户的设置结果和运行时的状态进行持久保存(2)实现的代码请见mainFrameObjectSerialize和mainFrameObjectUnSerialize方法。8、获得系统信息(1)列出系统信息项目PrintWriter propWriter=new PrintWriter(new FileWriter(tmpFile);System.getProperties().list(propWriter);propWriter.close();FileReader

15、propRead=new FileReader(tmpFile);BufferedReader br=new BufferedReader(propRead);String tmpStr;infoContent.setText();while(tmpStr=br.readLine()!=null)infoContent.append(tmpStr+n);br.close();(2)获得指定项目的属性值System.getProperty(user.dir);(3)代码示例:请见mousePressed事件中的方法。9、产生服务器的工作状态的日志文件(1)将日志写入到日志文件通过设计一个WebProxyWritetoFile的JavaBean类来实现功能封装,在该类中提供日志数据的写入文件的功能方法。(2)将日志写入到数据库表中通过设计一个WebProxyJDBC的JavaBean类来实现功能封装,在该类中提供日志数据的写入数据库表的功能方法。杨教授工作室,版权所有,盗版必究, 10/10页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1