马蛟蛟——西安达内科技实习总结报告.doc_第1页
马蛟蛟——西安达内科技实习总结报告.doc_第2页
马蛟蛟——西安达内科技实习总结报告.doc_第3页
马蛟蛟——西安达内科技实习总结报告.doc_第4页
马蛟蛟——西安达内科技实习总结报告.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西安工业大学(生产)实习报告生 产 实 习 报 告生产实习单位 达内科技(西安波顿校区) 实 习 时 间 2013 年 7 月 1 日至 2013 年 7 月 12 日止指导教师(单位) 周 福 指导教师(学校) 任安虎 学 生 姓 名 马蛟蛟 学 号 100410106 学 校 西安工业大学 说 明1、生产实习结束之前,每个学生都必须认真撰写生产实习报告。通过撰写生产实习报告,系统地回顾和总结实习的全过程,将实践性教学的感性认识升华到一定的理论高度,从而提高实习教学效果。2、实习报告要求条理清晰,内容详尽,数据准确。字数不少于5000字。3、生产实习报告的质量反映了生产实习的质量,它是实习成绩评定的主要依据之一。没有在规定时间前递交实习报告者不得参加实习成绩评定。4、生产实习报告含有“学生实习鉴定”表。5、实习单位指导教师须在“学生实习鉴定”表中给予评价并签署,否则视为无效。6、封面中的“生产实习单位”必须写单位的全名,必须写上单位指导教师姓名。7、“前言”部分: “实习背景”可简介实习目的、学院有关实习的要求、通过何种方式到此单位实习、实习起止时间等内容;“实习环境”可包括实习单位全称、地址、实习单位性质、规模、简介、所在部门、该部门主要工作、指导教师安排等内容。8、“实习内容”部分:属报告的主要部分。“实习过程”概述实习各阶段所从事的主要工作等;“实习内容”包括项目介绍、本人从事的工作、软硬件平台和技术等;“实习成果”应具体列出自己所完成的主要成果及实际应用情况等。9、“总结”部分:其中“其它意见”可对学院课程设置、教学内容、实习安排等方面提出自己的意见或建议,也可对实习单位的各个方面提出自己的意见。目 录一、前言31、实习背景32、实习环境3二、实习内容41、实习过程42、实习内容43、项目介绍:53.1、设计的主要内容53.2、设计要达到的目标53.3、设计方法介绍53、主要成果83.1客户端页面展示:83.2服务器界面展示:13三、总结141、实习体会142、其它意见14四、程序源代码151、服务端程序:152、客户端程序:193、消息类包程序:27一、前言1、实习背景近年来,随着全球信息化进程的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,在局域网上运行的应用越来越多,如知识库、网络会议、数据库应用和数据的同步与备份等,这些应用对局域网的信息吞吐、处理能力的要求也越来越高。这些在企业内部原有局域网设计之初未曾考虑到的新情况的出现使得局域网不堪重负,容易发生信息阻塞,此时,局域网不但不能提高生产效率,反而成为企业发展的瓶颈。 为了解决上述矛盾,人们提出了许多方法。提升网络带宽及增加服务器的吞吐能力是解决此矛盾的一种方法。然而,从企业运行的成本方面考虑,无论是单纯地提升网络带宽或增加服务器的吞吐能力都不能从根本上解决局域网资源紧张的问题,对旧有局域网的大规模硬件改造反而会增加企业的负担。 我在本文中将讨论一种基于Socket的局域网通信工具的设计与实现方法。基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。 基于Socket的局域网聊天工具是此类局域网通信软件的具体实例之一,它很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。2、实习环境 达内科技公司是Canada Tarena Technologies Inc.在中国的全资子公司,主要业务是提供IT培训、项目咨询、软件定制、技术研发、人才定向培养和人才出租服务,为企业提供全面的培训、咨询和技术研发解决方案,是首家为中国企业用户提供全系列高端IT技术培训(技能+经验)、项目咨询和人才服务一条龙服务的北美高科技公司。 达内科技以中关村科技园区为依托,在中国软件业发达城市北京、上海、广州、深圳、大连、南京、武汉、杭州、西安、苏州、成都、太原等20大城市,建立了近40家培训中心,占地2万平米,年培训1万多名软件人才。已累计为IBM、微软、摩托罗拉、华为、中软、用友、Yahoo、阿里巴巴、TOM、新浪、搜狐、百度、联想、神州数码、大唐电信、亚信等知名IT企业培养输送了7万多名中高级软件人才,目前达内全国拥有600多名员工,年产值近2亿元,是中国领先的中高端软件人才培训机构。 达内科技目前提供的职业培训包括:外企软件开发工程师、软件测试工程师、Oracle数据库管理员、Unix系统管理员、网络系统工程师。实习地点是在西安工业大学未央校区电子信息工程学院的教E410机房内由达内的老师带领进行小组项目开发。二、实习内容 1、实习过程1、每日一讲2、每天完成实习日报。3、复习java基础知识,对于项目使用到的知识点进行一遍复习。4、了解安卓软件开发的流程,学会使用开发工具。5、分组进行项目开发相关工作。7、模拟面试。7、项目的评定。8、完成本实习报告。2、实习内容主要内容如下:1. Java语言简介。包括Java应用程序的运行机制和环境、Java的垃圾回收机制、Java开发环境的安装和配置和Java源程序的编译和运行等。其中,配置Java开发环境时,需要修改环境变量(先在系统变量中新建一个JAVA_HOME的变量,将其值设置为jdk1.6.0的安装路径;然后修改PATH变量,在该变量值类加入路径:%JAVA_HOME%bin;%JAVA_HOME%jrebin; 接着在修改CLASSPATH变量,若没有手动加入,在其值类加入路径:.; 最后利用javac -version测试Java的版本);在编译和运行Java源程序时,先使用javac *.java进行编译,再利用java *进行运行。2. Java基本语法。包括Java的命名规范、注释、标识符、数据类型、变量、运算符、表达式 、控制语句等。其中,Java的命名规范包括:以字母(unicode)“$”“”为开头,第二个字符开始是字母(unicode)、数字、“$”“”,不限制长度,不能是 Java的关键字,区分大小写和可以是中文;Java的基本数据类型有八种:整型类型(byte,short,int,long)、浮点类型(float,double)、字符型(char)和布尔型(boolean);Java的控制语句包括:选择语句(if-else,switch-case)、循环语句(for,do-while,while)和循环跳转语句(break结束整个循环,continue结束本次循环)。3数组的介绍。包括数组的申明,初始化(静态和动态初始化),数组的访问、遍历和复制等。String中一些API方法。如找到指定位置的字符charAt(int index),求字符串的长度length()。接口的介绍。包括Collection、List、HashMap等,以及这些接口的一些API的使用。4集合的介绍。包括List,Map和Set。5类的封装和重载。6项目的开发。实现添加、删除、更改等操作。3、项目介绍:3.1、设计的主要内容该系统的设计与实现,主要是根据socket通信原理发送信息,不需要服务断,每个客户端都采用一个程序,基本原理如下:每个客户打开程序后,就不停的想本网络广播自己的个人信息,让其他客户端知道自己存在于这个网络中,并且不断的读取网络中其他客户端的信息,使自己知道本网络的其他客户。如果客户退出程序,就不能广播自己的个人信息,其他客户认为已经下线。3.2、设计要达到的目标本次设计要达到的目标完成客户之间的群聊功能,服务器显示在线用户状态,以及用户之间私聊的问题。3.3、设计方法介绍本次设计采用基于Java的程序设计技术,以及用Eclipse开发Java程序的相关技术。下面简单介绍一下Java和Eclipse开发环境。(1) Java语言的特点Java 最初叫Oak ,是由Sun公司开发的面向对象的编程语言,从表面上看,它有许多地方和C ,C+类似,但比它们更简洁和更容易设计。Java是纯面向对象语言:Java语言不能在类的外面定义数据和函数。所有对象都派生自同一个基类Object,并共享它所有的功能。Java只支持单一继承,但通过接口可支持有限形式的多重继承。 平台无关性:用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关分为两种:源代码级和目标代码级。 分布式:分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同主机上处理。 Java支持 WWW 客户机/服务器计算模式,因此,它支持这两种分布性。对于前者,Java提供了一个叫做 URL 的对象,利用这个对象,你可以打开并访问具有相同 URL 地址上的对象,访问方式与访问本地文件系统相同。对于后者,Java的applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便地实现Java 的分布式特性。 可靠性和安全性:Java最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。Java 虽然源于C+,但它消除了许多C+不可靠因素,可以防止许多编程错误。首先, Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java不支持指针,这杜绝了内存的非法访问;第三,Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,最后,Java 提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。上述几种机制结合起来,使得Java成为安全的编程语言。 多线程: Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java 语言内置多线程控制,可以大大简化多线程应用程序开发。Java提供了一个类 Thread ,由它负责启动、运行、终止线程,并可检查线程状态。Java的线程还包括一组同步原语。这些原语负责对线程实行并发控制。利用Java的多线程编程接口,开发人员可以方便地写出支持多线程的应用程序,提高程序执行效率。(2) Java平台Java平台是一种全新的软件平台,它主要由两部分组成:Java VM和Java API(应用编程接口)。Java虚拟机是Java平台的核心,它可以用软件实现,也可以用硬件实现。Java虚拟机屏蔽了底层的操作系统,给所有Java程序员一个完全相同的虚拟平台。Java API为Java小应用程序和应用软件的标准接口,是应用开发的基本框架,是开放的和可扩展的。它为各个关键领域规定了一系列的基本接口,让程序员开发Java应用。Java API包括两部分:Java基本API和Java标准扩展API。Java基本API包括了Java语言的基本部分、实用程序、I/O、网络、图形用户接口等。开发多种Java API,使Java成为更强有力的平台。除了已在JDK1.02中发表的标准API外,还开发了JDBC,用来增强Java访问众多不同数据源的能力,从此Java将以统一的接口访问35种以上不同数据源,如Foxpro、Oracle、Sybase、Informix、DB2等等。(3) Java 开发工具JDK Java 开发工具(JDK)是许多 Java 专家最初使用的开发环境。尽管许多编程人员己经使用第三方的开发工具,但 JDK 仍被当作 Java 开发的重要工具。JDK 由一个标准类库和一组建立、测试及建立文档的 Java 实用程序组成。其核心Java API 是一些预定义的类库,开发人员需要用这些类来访问 Java 语言的功能。 Java API 包括一些重要的语言结构以及基本图形、网络和文件 I/O。一般来说, Java API 的非I/O部分对于运行 Java 的所有平台是相同的,而I/O部分则仅在通用 Java 环境中实现。作为 JDK 实用程序,工具库中有七种主要程序。Javac: Java编译器,将Java源代码转换成字节码。 Java: Java解释器,直接从类文件执行Java应用程序字节代码。 Appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。Javadoc:根据Java源码以及说明语句生成HTML文档。Jdb:Java试调器,可以逐行执行程序,设置断点和检查变量。Javah:产生可以调用Java过程的C过程,或者建立能够被Java程序调用的C过程的头文件。Javap:Java反汇编器,显示译类文件中的可访问功能和数据,同时显示字节代码含义。(4) 介绍Eclipse开发环境Eclipse 是一个开源的、可扩展的集成开发环境。 Eclipse是最强大的、最易于使用的Java快速开发工具。Eclipse把Java编程语言的威力和图形用户界面化的快速开发环境的易用性有机地结合在一起。 Eclipse的向导可以使创建应用程序、类和工程的过程变得非常简单。设计器与双向开发工具的使用使图形界面的设计变得很容易。Eclipse方便地创建类和JavaBean,以提高当前应用程序或小程序的开发进度,并提高以后的工程的性能。3、主要成果3.1客户端页面展示: 3.2服务器界面展示:三、总结1、实习体会在达内IT培训集团的带领下的实习结束了,看着自己亲手写出来的代码,内心非常激动,整个实习过程充满浓厚的学习氛围。在这里,我对Java的认识与理解上升了一个档次,当初对Java只是一知半解,而在这里学习了一段时间后,发现自己对Java还是很感兴趣的。课堂上老师认真地讲解各个方面的知识,每一个知识点都会讲解地非常清楚,让我们理解透彻,并且会加以程序联系,让我们充分地吸收一天所学的知识。实习从开始的紧张畏惧到后来的喜欢习惯,短短的十天时间,匆匆就过了,但是留下的记忆是深刻的、收获是丰盛的、汗水是晶莹的。达内教给我的不仅仅是最前端的技术,更重要的是教会了我如何去应用自己所掌握的知识。回想这段日子,其实对于我们每一个人来讲,都充满了苦涩。但是我们没有抱怨,没有不解,更没有对繁重课业的恐惧。只要坚持不懈地努力,我们一定能学到本事。在本科前三年的学习中,理论知识占了很大比重,有些缺乏动手实践的机会和项目经验;但在达内的学习过程中,老师将讲解与实践相互交叉,知识与项目广泛结合,在每个部分学习结束时,都会有相应的练习。我觉得在学习过程中,笔记是最不可缺少的,在后面的学习中,遇到老问题可以方便地查找,长时间没有碰到过的内容也可以抽时间快速地复习,以备不时之需。实习是每一个大学生必须拥有的一段经历,它既使我们在实践中了解社会,让我们学到了很多在课堂上根本就学不到的知识,也打开了视野,长了见识,为我们以后进一步走向社会打下坚实的基础。实习使我开拓了视野,领略到不同企业的风格和模式,实习是我们把学到的理论知识应用在实践中的一次尝试。实习时把自己所学的理论知识用于实践,让理论知识更好的与实践相结合,在这结合的时候就是我们学以致用的时候,并且是我们扩展自己充实自己的时候。我非常珍惜这次经历。 2、其它意见 总的来说,这次实习还是非常有意义的。两周的时间说长不长说短不短,但还是希望老师可以给我们多教授点知识。因为就凭我们现在的水平而言,想要完成一个完整的大项目还是非常困难的。所以很希望再充实自己。再次感谢学校给我们这次实习的机会,再次感谢周老师对我们的细心指点!四、程序源代码1、服务端程序:import java.util.Date;import java.util.HashMap;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;public class FuWuQi extends JFrameArrayList list_socket=new ArrayList();HashMap map=new HashMap();ServerSocket ss;JTextArea jt1;JTextArea jt2;static int m;public static void main(String args) FuWuQi fw=new FuWuQi();fw.init();fw.startService();public FuWuQi()try ss=new ServerSocket(6666); catch (IOException e) JOptionPane.showMessageDialog(this, 连接异常);e.printStackTrace();public void init()setTitle(工大天堂);setSize(300, 500);JPanel jp2=new JPanel();jp2.setLayout(new BorderLayout();/上下左右中布局jt1=new JTextArea(2,30);jt1.setText(服务器开启,等待连接中。);jt1.append(n当前人数为:+list_socket.size()+人);jt1.setEditable(false);jt2=new JTextArea();jt1.setBackground(new Color (24,166,205);jt2.setText(上下线通知:);jt2.setBackground(new Color (250,240,230);JScrollPane js=new JScrollPane(jt2);jt2.setEditable(false);ImageIcon image1=new ImageIcon(ChuangKou.class.getResource(46.jpg);JLabel jl3=new JLabel(image1);jp2.add(BorderLayout.SOUTH,jl3);jp2.add(BorderLayout.NORTH,jt1);add(BorderLayout.CENTER ,jt2);add(BorderLayout.NORTH ,jp2);setVisible(true);public void startService()while(true)try final Socket s=ss.accept();list_socket.add(s);/gengXin(s);new Thread()public void run()try ObjectInputStream in=new ObjectInputStream(s.getInputStream();while(true)Message mes=(Message)in.readObject();if(mes.getType().equals(tishi)Date date=new Date();String str=new SimpleDateFormat(HH时mm分ss秒).format(date);for(int i=0;i=0;i-)String ip=+list_socket.get(i).getInetAddress();if(list_socket.get(i)=s)/list_socket.remove(i);else if(map.get(ip)!=null)Message mess=new Message();mess.setName(map.get(ip);mess.setType(tishi);mess.setText(mes.getText();ObjectOutputStream out=new ObjectOutputStream(s.getOutputStream();out.writeObject(mess);out.flush();map.put(+s.getInetAddress(),mes.getName();else if(mes.getText().equals(已下线)jt1.setText(服务器开启,等待连接中。);list_socket.remove(s);jt1.append(n当前人数为:+list_socket.size()+人);/更新下面一个文本域的内容jt2.append(nIP为:+s.getInetAddress()+用户于+str+已下线);for(int i=0;ilist_socket.size();i+)String ip=+list_socket.get(i).getInetAddress();if(map.get(ip)!=null&list_socket.get(i)!=s)Message mess=new Message();mess.setName(map.get(ip);mess.setType(tishi);mess.setText(mes.getText();ObjectOutputStream out=new ObjectOutputStream(s.getOutputStream();out.writeObject(mess);out.flush();map.put(+s.getInetAddress(),mes.getName();else if(mes.getType().equals(send)for(int i=0;ilist_socket.size();i+)/if(list_socket.get(i)!=s)ObjectOutputStream out1=new ObjectOutputStream(list_socket.get(i).getOutputStream();out1.writeObject(mes);out1.flush();/else if(mes.getType().equals(tishi) catch (ClassNotFoundException e) e.printStackTrace(); catch (IOException e) e.printStackTrace();.start(); catch (IOException e) e.printStackTrace();2、客户端程序:package day051;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Desktop;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import .Socket;import .URI;import .URL;import .UnknownHostException;import java.util.ArrayList;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JCheckBoxMenuItem;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;public class ChuangKou extends JFrame implements ActionListenerArrayList users=new ArrayList();Socket s;String name;static JTextArea text1;static JTextArea text2;JTextField jf;JButton jb;static ImageIcon image1;static ImageIcon image2;JLabel jl1;JLabel jl2;ObjectOutputStream out;JPanel jp1;JPanel jp11;static ChuangKou ck;static ImageIcon image3;public static void main(String args)image1=new ImageIcon(ChuangKou.class.getResource(north.gif);/获取图片image2=new ImageIcon(ChuangKou.class.getResource(jj.png);image3=new ImageIcon(ChuangKou.class.getResource(38.jpg);text1=new JTextArea();text2=new JTextArea();text2.setText(你开始了今天的聊天);text1.setText(你当前在线的好友:);text2.setBackground(new Color(255,250,250);text1.setBackground(new Color(255,240,245);ck=new ChuangKou();ck.init();public void init()setSize(600,600);/创建窗口的大小setTitle(工大天堂);/设置标题setLocationRelativeTo(null);/居中/在窗口的北边加载一个带图片的面板jp1=new JPanel();/创建面板jp1.setLayout(new BorderLayout();jp11=new JPanel();jp11.setLayout(new BorderLayout();/ImageIcon image0=new ImageIcon(ChuangKou.class.getResource(4.jpg);/image1=new ImageIcon(ChuangKou.class.getResource(north.gif);/获取图片/image2=new ImageIcon(ChuangKou.class.getResource(jj.png);/JLabel jl0=new JLabel(image0);jl1=new JLabel(image1);/将一张图片放在标签上jl2=new JLabel(image2);/jp11.add(BorderLayout.WEST,jl0);jp11.add(BorderLayout.WEST,jl1);jp11.add(BorderLayout.EAST,jl2);/jp11.add(jl1);/将标签加载面板上/jp11.add(jl2);JMenuBar bar=new JMenuBar();/菜单栏JMenu jm1=new JMenu(连接管理);/菜单JMenuItem jmt1=new JMenuItem(连接服务器);/子菜单JMenuItem jmt2=new JMenuItem(断开连接);/子菜单JMenuItem jmt3=new JMenuItem(退出);/子菜单/jmt1.add(jmtt1);jm1.add(jmt1);/将子菜单加载到菜单里面jm1.add(jmt2);jm1.add(jmt3);JMenu jm2=new JMenu(页面设置);/菜单JMenu jmtt1=new JMenu(皮肤管理);JMenuItem jmttt1=new JMenuItem(暗夜漂流);JMenuItem jmttt2=new JMenuItem(静谧夜空);JMenuItem jmttt3=new JMenuItem(波涛汹涌);JMenuItem jmttt4=new JMenuItem(烂漫晚霞);JMenuItem jmttt5=new JMenuItem(系统默认);jmtt1.add(jmttt1);jmtt1.add(jmttt2);jmtt1.add(jmttt3);jmtt1.add(jmttt4);jmtt1.add(jmttt5);JMenu jmtt2=new JMenu(窗口背景);JMenuItem jmtt21=new JMenuItem(乳白色);JMenuItem jmtt22=new JMenuItem(橘黄色);JMenuItem jmtt23=new JMenuItem(天蓝色);JMenuItem jmtt24=new JMenuItem(金黄色);jmtt2.add(jmtt21);jmtt2.add(jmtt22);jmtt2.add(jmtt23);jmtt2.add(jmtt24);jm2.add(jmtt1);jm2.add(jmtt2);JMenu jm3=new JMenu(常用语设置);JMenuItem jmtt31=new JMenuItem(哦,我知道了!);JMenuItem jmtt32=new JMenuItem(会议中,请稍候。);JMenuItem jmtt33=new JMenuItem(能不能快一点啊,我等的花儿也谢了);JMenuItem jmtt34=new JMenuItem(你打的牌也忒好了!);jm3.add(jmtt31);jm3.add(jmtt32);jm3.add(jmtt33);jm3.add(jmtt34);JMenu jm4=new JMenu(关于本软件);JMenuItem jmtt41=new JMenuItem(关于聊天系统);JMenuItem jmtt42=new JMenuItem(关于JDK);jm4.add(jmtt41);jm4.add(jmtt42);JMenu jm5=new JMenu(帮助);JMenuItem jmtt51=new JMenuItem(Internet Explorer 帮助);JMenuItem jmtt52=new JMenuItem(客户反馈);jm5.add(jmtt51);jm5.add(jmtt52);bar.add(jm1);/将菜单加载到菜单栏里面bar.add(jm2);bar.add(jm3);bar.add(jm4);bar.add(jm5);jp1.add(BorderLayout.NORTH,bar);jp1.add(BorderLayout.SOUTH,jp11);add(BorderLayout.NORTH,jp1);/将面板一放在窗口的最北方/在窗口的西边加载一个带图片和文本的面板JPanel jp2=new JPanel();jp2.setLayout(new BorderLayout();/上下左右中布局JLabel jl3=new JLabel(image3);jp2.add(BorderLayout.NORTH,jl3);/在面板里面最北方加载图片text1.setEditable(false);JScrollPane js=new JScrollPane(text1);/将文本框包装成滚动的jp2.add(BorderLayout.CENTER,js);add(BorderLayout.WEST,jp2);/将面板二放在窗口的最西方JPanel jp3=new JPanel();jp3.setLayout(new BorderLayout();text2.setEditable(false);JScrollPane jss=new JScrollPane(text2);jp3.add(BorderLayout.CENTER,jss);JPanel jp31=new JPanel();jp31.setLayout(new BorderLayout();jf=new JTextField(30);/创建文本框jb=new JButton(发送);jp31.add(BorderLayout.WEST,jf);jp31.add(BorderLayout.EAST,jb);jp31.setBackground(new Color(230,230,250);/jp3.add(BorderLayout.SOUTH,jp31);/将子面板jp31放在主面板jp3最南边add(BorderLayout.CENTER,jp3);/将面板三放在窗口的最中间setVisible(true);/将窗口显示出来jmt1.addActionListener(this);/将jmt1(连接服务器)加入到事件监听中jmt2.addActionListener(this);jmt3.addActionListener(this);jb.addActionListener(this);jmtt21.add

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论