毕业设计(论文)-分布计算基础结构原理模拟--客户端.doc

上传人:椰子壳 文档编号:3944756 上传时间:2019-10-10 格式:DOC 页数:32 大小:356.50KB
返回 下载 相关 举报
毕业设计(论文)-分布计算基础结构原理模拟--客户端.doc_第1页
第1页 / 共32页
毕业设计(论文)-分布计算基础结构原理模拟--客户端.doc_第2页
第2页 / 共32页
毕业设计(论文)-分布计算基础结构原理模拟--客户端.doc_第3页
第3页 / 共32页
毕业设计(论文)-分布计算基础结构原理模拟--客户端.doc_第4页
第4页 / 共32页
毕业设计(论文)-分布计算基础结构原理模拟--客户端.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《毕业设计(论文)-分布计算基础结构原理模拟--客户端.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-分布计算基础结构原理模拟--客户端.doc(32页珍藏版)》请在三一文库上搜索。

1、毕业设计论文题目:分布计算基础结构原理模拟客户端所 属 系 计算机工程系 专 业 计算机科学与技术学 号 01108606 姓名 指导教师 二O 一二 年 三 月 十三 日分布计算基础结构原理模拟客户端摘要当今社会是一个信息高速发展的社会,计算机在各行各业的应用越来越广泛。计算机的硬件技术也已经达到了很高的水平,但软件水平的发展总比硬件领先一步。计算任务对硬件的要求越来越高,在硬件未及时同步发展的时候,软件实现的方法应运而生。分布计算是基于分布式系统的一种计算模型。 分布计算模型的特点有:由多个处理机或者多个计算机组成,这些计算机或处理器可以在物理上相邻,用机器内部总线或开关连接,通过共享主存

2、进行通信,也可以在地理上分散,用计算机网络互联,采用消息通信,同时计算过程对用户是透明的,即使用户使用计算机资源进行计算时,也不知道这些资源存在何处。由于单台计算机的计算能力有限,在实际应用中,我们常常将计算任务分成多个子任务,将每个子任务,放到网络中不同的计算机上进行计算,实现分布式计算,以加快我们的计算速度。本实例是在JAVA开发平台MyEclipse上编写的,基于socket实现两个数值X和Y进行减法、减法、乘法和除法等四则运算,从而实现分布计算的简单应用。关键词:分布计算、socket、多线程AbstractNowadays, information technology is dev

3、eloping with high-speed, the computer is more and more useded extensively the every trade.The hardware technique of the computer also has already come to a the very high level, but the development of software is more faster than hardware.The request of new builded procedure to hardware is more and m

4、ore high, at the time of hardware did not develop in time and synchronously, the method of the software realization emerge with the tide of the times.Distribute the calculation is according to a kind of calculation model of the distribute type system. The characteristics of distributes to compute th

5、e model:Handle from manies machine or several computer constitute, these computer or processor can be close together in the physics, switch conjunctions using the machine internal and total line, connected through internt main line or switch, also can on the geography dispersion, use the calculator

6、network with each other , adopt the news correspondence, compute the process at the same time transparent to customer, even customer usage the calculator resources carries on the calculation, also not know that these resourceses save where.Because the calculation ability of the single pedestal calcu

7、lator is limited, in actually apply, we usually are divided into the calculation mission many statures mission, put each statures mission, the different calculator of network goes forward to go the calculation, carrying out the distribute type calculation, to speed our calculation speed.The original

8、ly solid example develops the terrace MyEclipse8.5 in the JAVA to write up the plait, carrying out Two values X and Y of the four operations of subtraction , subtraction , multiplication and division according to the socket, thus carrying out a imple application of distributed calculating.Keywords:

9、distributed calculating,socket,mutipule-process目录摘要IAbstractII第一章 引言11.1传统的网络应用模式11.2什么叫分布式计算11.3分布式应用概述11.4研究现状21.5本系统主要内容及结构框架3第二章 可行性研究52.1功能需求52.2可行性研究52.3技术可行性52.4需求分析62.5业务结构图7第三章 系统设计83.1系统功能模块图83.2各模块功能设计83.2.1输入X和Y值83.2.2选择具体的操作83.2.3启动总线93.2.4发送93.2.5释放总线93.2.6查找对象103.3 详细设计113.4各模块详细设计193

10、.4.1输入X和Y值193.4.3启动总线213.4.6查找对象23第四章 系统测试与分析25总结26致谢27参考文献28III东南大学成贤学院毕业设计报告第一章 引言在当今的互联世界中,越来越多的企业应用程序跨多个服务器分布和运行、连接到远程数据源和 Web Service,并可通过Internet访问。分布式计算功能强大,但也并非没有面临挑战。网络在本质上并不可靠,同本地的进程间通信相比,与远程服务器的通信速度较慢。另外,同时在多台计算机上运行一个程序可能会导致许多并发和同步问题。1.1传统的网络应用模式随着Internet以及Web技术和分布式对象技术的广泛使用, 网络应用的规模越来越大

11、、计算环境也越来越复杂,应用呈现出多层次、多样化的特点。传统应用系统的弊端日益凸显,已经不能适应企业业务不断发展的需求。1.2什么叫分布式计算所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。1.3分布式应用概述在C/S模式弊端凸显的时候,产生了分布式应用系统开发模型。分布式应用系统与传统的C/S模式相比有着极大的优势,主要体现在:可伸缩性好。可管理性强。安全性高软件复用性好。开发周期短等诸多优点。以上优点在Internet/Intranet环境下,显得更加突出

12、。分布式网络存储技术是将数据分散的存储于多台独立的机器设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。分布式就是数据和程序可以不位于一个服务器上,而是分散到多个服务器,以网络上分散分布的地理信息数据及受其影响的数据库操作为研究对象的一种理论计算模型。分布式有利于任务在整个计算机系统上进行分配与优化,克服了传统集中式系统会导致中心主机资源紧张与响应瓶颈的缺陷,解决了网络GIS 中存在的数据异构、数据共享、运算复杂等问题,是地理信息系统技术的一大进

13、步。 1.4研究现状随着计算机的普及,个人电脑开始进入千家万户。与之伴随产生的是电脑的利用问题。越来越多的电脑处于闲置状态,即使在开机状态下中央处理器的潜力也远远不能被完全利用。我们可以想象,一台家用的计算机将大多数的时间花费在“等待”上面。即便是使用者实际使用他们的计算机时,处理器依然是寂静的消费,依然是不计其数的等待(等待输入,但实际上并没有做什么)。互联网的出现,使得连接调用所有这些拥有限制计算资源的计算机系统成为了现实。那么,一些本身非常复杂的但是却很适合于划分为大量的更小的计算片断的问题被提出来,然后由某个研究机构通过大量艰辛的工作开发出计算用服务端和客户端。服务端负责将计算问题分成

14、许多小的计算部分,然后把这些部分分配给许多联网参与计算的计算机进行并行处理,最后将这些计算结果综合起来得到最终的结果。最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。其中较为著名的是:1.解决较为复杂的数学问题,例如:GIMPS(寻找最大的梅森素数)。2.研究寻找最为安全的密码系

15、统,例如:RC-72(密码破解)。3.生物病理研究,例如:Foldinghome(研究蛋白质折叠,误解,聚合及由此引起的相关疾病)。4.各种各样疾病的药物研究,例如:United Devices(寻找对抗癌症的有效的药物)。5.信号处理,例如:SETIHome(在家寻找地外文明)。从以上的5个典型案例问题不难看出,对于一些需要非常巨大的计算能力才能解决的问题,一般是跨学科的、极富挑战性的、人类急待解决的科研课题。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。在以前,这些问题都应该由超级计算机来解决。但是,超级计算机的造价和维护非常的昂

16、贵,这不是一个普通的科研组织所能承受的。对于这些复杂问题分布式计算比起其它算法具有以下几个优点:1.稀有资源可以共享。2.通过分布式计算可以在多台计算机上平衡计算负载。3.可以把程序放在最适合运行它的计算机上。在计算机科学领域中的分布式计算方法在我们发展中国家的发展依赖于国家的计算机与网络的发展水平。据中国互联网信息中心(CNNIC)的统计信息,中文网民人数占世界的比重已经增长到了12%左右,并且还在快速增长着。这里所说的中文网民是包括大陆、香港、澳门、台湾和海外华人的。您也许会问互联网在中国快速发展的原因。我想,主要有以下几个方面。价格便宜:在天津一根512K的ADSL包月才80元人民币左右

17、。教育体制:最近政府花了巨资帮助大学、初高中修建了多媒体信息教室,这使得很多学生对信息技术充满着兴趣和渴望。相比于互联网在中国的快速发展,中国的分布式计算却发展缓慢。就我看来,网民数量的统计并不能十分客观地反映一个国家信息化程度的高低,而参与分布式计算网民的数量或比例却可以明显地看出这个国家科学普及化的水平。在这方面,毋庸置疑,欧美国家是十分领先的。在北欧国家,几乎一半的电脑参加了分布式计算项目,这是一个惊人的数字。再让我们来看看我们中国和印度,尽管我们拥有了不少最新科技,且看上去在网络普及化进程中有不错表现,但是在分布式计算方面却很薄弱。让我们来看个例子:SETIhome是世界上最大的分布式

18、计算项目。从中国的参与人数来看,它在中国也是最著名的项目。它通过使用联网的计算机下载程序分析射电望远镜所收到的讯号,来搜索地球外的生命迹象。尽管中国在近一年来有所进步,中国的国际排名从29上升到了24,但是我们中国用户却仍然只完成了日本用户完成的工作数的十分之一,而日本,这个高度发达的国家网民人数缺少于中国。看来,提高网民素质、提高科学普及化程度也是十分重要的。印度和一些中东国家也有相似的问题,而中欧国家明显在这方面作得比较好,不少独联体国家所完成的数据量已经超过了俄罗斯联邦的总合。中国目前已经有了很多计算机,其中不乏性能极其先进的。而他们中的大多数仅仅是打字、播放幻灯而已。这不能不说是一种资

19、源的浪费。从另外一个角度看,我们不难发现发达国家和发展中国家的差距。我们把这种现象称为数字鸿沟。另一个现象同样令人痛心疾首,所有的分布式计算项目都是由发达国家发起的,这一方面也加深了科学鸿沟。斯坦福大学化学系的戈尔哈姆理查德切尔曼教授说,分布式计算将加快整个人类的科学进程。科学家们现在可以完成以前从来想不到要去完成的,或者要花几十年几百年才能完成的计算任务。这是的确是千真万确的,但是这种计算从一定程度上助长了发达国家的科学垄断。1.5本系统主要内容及结构框架论文首先概述性介绍了系统设计的目标原则、体系结构及功能模块划分。采用模型分析方法进行系统分析及设计,最后论述了系统的实现及测试环节。系统的

20、结构图如图1.1所示。图1.1 系统结构图分布式计算系统的主要功能是客户端通过总线向服务器端发送需要运算的数据,服务器端在接收到客户端发送来的数据并且确认后进行相应的运算,最后将结果返回给客户端,所有运算都经过总线,而网络层被屏蔽。具体实现如图1.2所示。图1.2系统图第二章 可行性研究 本章主要从功能和性能方面着手,其中涉及功能需求、可行性研究和技术可行性。2.1功能需求在技术上,目前高性能的计算机硬件层出不穷,他们速度快,容量大,可靠性高,价格低,完全满足本系统的需要。使用MyEclipse作为开发工作。合理构建模型,定义关系表,就可以做出本系统。在经济上,现有的硬件配置大部分满足本系统的

21、需要,开发本系统所花费用甚少。且本系统如果成功实施将会使企业的成本大大节约、精简工作人员、提高工作效率、缩短工作周期、取得更可观的成绩。1、操作系统操作系统对使用java开发分布式系统的影响不是很大,Windows2000、Windows XP都可以。我选用了稳定性较好的Windows XP。2、MyEclipseMyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyE

22、clipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。随着MyEclipse 8.5的发布,很多MyEclipse都已经开始转型成MyEclipse 8.5工作了,MyEclipse 8.5不但集成最新版本的Eclipse 3.5.2同时包含了大量当前最新版的开源框架的插件支持。作为目前最新版本的MyEclipse 8

23、.5来说包含了不少吸引人的新特性,尤其是在对主流Java框架的支持都更新了不少,由于目前MyEclipse 8.5还只是M1版本,因此作为开发版本使用估计不太可能(当然如果喜欢尝鲜,装个玩玩应该是没问题)。 2.2可行性研究可行性研究分为技术可行性研究、操作可行性研究、经济可行性研究,而本设计用于毕业设计,暂不考虑经济可行性。2.3技术可行性1. ActionListener技术可行性用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的 actionPerfo

24、rmed 方法。Actionlistener字面上理解就是动作监听器。它是一个接口,在实现此接口的类中,你可以给需要关注其动作的组件(如Button)添加监听器(addActionListener(this);),之后在事件处理方法(public void actionPerformed(ActionEvent event))中,对每个事件进行不同处理。关于ActionListener的响应问题,就我的理解可以有两种方法。第一种就是你放到一个新的类里面,实现ActionListener接口,然后写好public void actionPerformed(ActionEvent e)的方法。这种

25、当继续自JFrame还是蛮有用的,但是假如是一个在public static void main(String args)中建立一个JFrame,然后对里面的(比如按钮)实现监听,那么去实现ActionListener接口就不那么合适了。 也就是在addActionListener的参数中新定义到一个ActionListenner并重写它的actionPerformed。不过要注重的是,这个actionPerformed一定要是public的,不然权限不够。还有就是里面用到的组件在外部必须声明为final的,这点也许会造成些许使用的限制。 2. Socket技术可行性Socket通信属于网络底

26、层通信,它是网络上运行的两个程序间双向通信的一端,既可以接受请求,也可以发送请求,利用它可以比较方便地进行网络上的数据传输。Socket首先需要建立稳定的连接,然后以流的方式传输数据,实现网络通信。2.4需求分析本系统基于C/S架构,目标系统应该达到以下要求: 1、时间经济性:优化逻辑设计与物理设计,使系统运行效率高,反映速度快。2、可靠性:能连续准确的处理业务,有较强的容错能力。3、可理解性:用户容易理解和使用该系统。4、可维护性和适应性:系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。5、可用性:目标系统功能齐全,能够完全满足业务需求。6、安全保密性:保证系统的物理安全

27、、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。客户端的功能主要有输入X和Y值:客户端这里是输入两个数值X和Y,在做分布式模拟运算的时候,把这两个数值传给服务器端,服务器接收这两个数值,然后作为加减乘除四则运算的的两个数值。选择具体的操作:客户端再输入完两个数值之后,在此选择具体要操作的功能,这里提供的功能操作有四个,分别是加法、减法、乘法和除法。查找总线:查找总线指的是客户端,查找对应服务器端的机器,然后建立socket连接,只有建立了连接之后,才能将输入的X和Y数值、选择的具体操作运算符等发送到服务器端。发送:客户端连接好服务服务器之后,单击发送,就会把输入的X

28、和Y数值、选择的具体操作运算符等发送到服务器端,服务器端接收到数据之后进行相应的运算,并将运算结果返回给客户端,在客户端界面显示相应的运算结果。释放总线:客户端运算完毕之后单击释放总线按钮,就会把断开与服务器端的连接。2.5业务结构图总体的业务流程图如图2.1所示。图2.1业务结构流程图第三章 系统设计了解什么是分布式计算以及分布式计算系统的具体需求之后就要对该系统进行详细的分析和设计。3.1系统功能模块图根据上面的研究和分析客户端功能如下输入X和Y值:客户端这里是输入两个数值X和Y,在做分布式模拟运算的时候,把这两个数值传给服务器端,服务器接收这两个数值,然后作为加减乘除四则运算的的两个数值

29、。选择具体的操作:客户端再输入完两个数值之后,在此选择具体要操作的功能,这里提供的功能操作有四个,分别是加法、减法、乘法和除法。启动总线:启动总线指的是客户端,查找对应服务器端的机器,然后建立socket连接,只有建立了连接之后,才能将输入的X和Y数值、选择的具体操作运算符等发送到服务器端。发送:客户端连接好服务服务器之后,单击发送,就会把输入的X和Y数值、选择的具体操作运算符等发送到服务器端,服务器端接收到数据之后进行相应的运算,并将运算结果返回给客户端,在客户端界面显示相应的运算结果。释放总线:客户端运算完毕之后单击释放总线按钮,就会把断开与服务器端的连接。查找对象:在选择下拉框中的运算对

30、象后,可以根据查找对象按钮来确定服务器端有没有此运算。3.2各模块功能设计3.2.1输入X和Y值输入X和Y值:客户端这里是输入两个数值X和Y,在做分布式模拟运算的时候,把这两个数值传给服务器端,服务器接收这两个数值,然后作为加减乘除四则运算的的两个数值。3.2.2选择具体的操作选择具体的操作:客户端再输入完两个数值之后,在此选择具体要操作的功能,这里提供的功能操作有四个,分别是加法、减法、乘法和除法。3.2.3启动总线启动总线:启动总线指的是客户端,查找对应服务器端的机器,然后建立socket连接,只有建立了连接之后,才能将输入的X和Y数值、选择的具体操作运算符等发送到服务器端。3.2.4发送

31、发送:客户端连接好服务服务器之后,单击发送,就会把输入的X和Y数值、选择的具体操作运算符等发送到服务器端,服务器端接收到数据之后进行相应的运算,并将运算结果返回给客户端,在客户端界面显示相应的运算结果。3.2.5释放总线释放总线:客户端运算完毕之后单击释放总线按钮,就会把断开与服务器端的连接。具体的处理流程如图3.1所示: 图3.1 流程图 3.2.6查找对象查找对象:在选择下拉框中的运算对象后,可以根据查找对象按钮来确定服务器端有没有此运算。3.3 详细设计总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计是软件开发时期的第三个阶段,也是软件设计的第二步。其任务就是把解法具体化,

32、也就是回答下面这个关键的问题:“应该怎样具体地实现这个系统呢?”,通过详细设计应该得出对目标系统的精确描述,给出各个模块的详细过程性描述。从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。输入X和Y值:客户端这里是输入两个数值X和Y,在做分布式模拟运算的时候,把这两个数值传给服务器端,服务器接收这两个数值,然后作为加减乘除四则运算的的两个数值。选择具体的操作:客户端再输入完两个数值之后,在此选择具体要操作的功能,这里提供的功能操作有四个,分别是加法、减法、乘法和除法。查找总线:查找总线指的是客户端,查找对应服务器端的机器,然后建立socket连接,只有建立了连接之后,才能将输

33、入的X和Y数值、选择的具体操作运算符等发送到服务器端。发送:客户端连接好服务服务器之后,单击发送,就会把输入的X和Y数值、选择的具体操作运算符等发送到服务器端,服务器端接收到数据之后进行相应的运算,并将运算结果返回给客户端,在客户端界面显示相应的运算结果。释放总线:客户端运算完毕之后单击释放总线按钮,就会把断开与服务器端的连接。3.3.1客户端代码示例import java.awt.*; import java.awt.event.*; import .*; import java.util.HashMap;import java.util.LinkedList;import java.io.

34、*; import javax.swing.JComboBox;import javax.swing.JLabel;public class MyClient extends Frame implements ActionListener Socket ClientSocket; PrintStream os; DataInputStream is; String s; Label Mylabel=new Label(请输入两个数值X和Y:); Label enter1=new Label(X的值是); Label enter2=new Label(Y的值是); TextField enter

35、x=new TextField(0); TextField entery=new TextField(0); /操作符下拉 JComboBox cboSheng = new JComboBox(); LinkedList lisSheng=null; TextArea textArea; Button Line=new Button(启动总线); Button Open=new Button(释放总线); Button MyButton=new Button(发送); Button Bu=new Button(查找对象); boolean flag = false; public MyClie

36、nt() setTitle(分布计算基础结构原理模拟-客户端); GridBagLayout gbl=new GridBagLayout(); GridBagConstraints gbc=new GridBagConstraints(); setLayout(gbl); this.addWindowListener(new WinAdptClient(this); textArea=new TextArea(20,50); gbc.gridx=1;gbc.gridy=1; gbc.gridwidth=5; gbc.gridheight=1; gbc.fill=GridBagConstrain

37、ts.HORIZONTAL; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(2,6,1,6); gbl.setConstraints(Mylabel,gbc); add(Mylabel); gbc.gridx=1;gbc.gridy=2; gbc.gridwidth=1; gbc.gridheight=1; gbc.anchor=GridBagConstraints.WEST; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(2,6,1,6); gbl.setConstraints(e

38、nter1,gbc); add(enter1); gbc.gridx=3;gbc.gridy=2; gbc.gridwidth=1; gbc.gridheight=1; gbc.anchor=GridBagConstraints.WEST; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(2,6,1,6); gbl.setConstraints(enter2,gbc); add(enter2); gbc.gridx=2;gbc.gridy=2; gbc.gridwidth=1; gbc.gridheight=1; gbc.anchor=Gr

39、idBagConstraints.SOUTHEAST; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(2,6,1,6); gbl.setConstraints(enterx,gbc); add(enterx); gbc.gridx=4;gbc.gridy=2; gbc.gridwidth=1; gbc.gridheight=1; gbc.anchor=GridBagConstraints.SOUTHEAST; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(2,6,1,6); gbl.

40、setConstraints(entery,gbc); add(entery); /操作符下拉 gbc.gridx=5;gbc.gridy=2; gbc.gridwidth=1; gbc.gridheight=1; gbc.anchor=GridBagConstraints.SOUTHEAST; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(2,6,1,6); gbl.setConstraints(cboSheng,gbc); /cboSheng.setFont(new java.awt.Font(Dialog, Font.BOLD, 1

41、3); cboSheng.setBounds(new Rectangle(106, 49, 231, 33); add(cboSheng); AddInfo(); gbc.gridx=1;gbc.gridy=3; gbc.gridheight=1; gbc.fill=GridBagConstraints.HORIZONTAL; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(2,6,1,6); gbl.setConstraints(MyButton,gbc); MyButton.setBackground(Color.lightGray);

42、 MyButton.addActionListener(this); add(MyButton); gbc.gridx=3;gbc.gridy=3; gbc.gridheight=1; gbc.fill=GridBagConstraints.HORIZONTAL; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(2,6,1,6); gbl.setConstraints(Line,gbc); Line.setBackground(Color.lightGray); Line.addActionListener(this); add(Line)

43、; gbc.gridx=4;gbc.gridy=3; gbc.gridheight=1; gbc.fill=GridBagConstraints.HORIZONTAL; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(2,6,1,6); Open.setBackground(Color.lightGray); gbl.setConstraints(Open,gbc); Open.addActionListener(this); add(Open); gbc.gridx=5;gbc.gridy=3; gbc.gridheight=1; gbc.fill=GridBagConstraints.HORIZONTAL; gbc.weightx=1;gbc.weighty=0; gbc.insets=new Insets(2,6,1,6); Bu.setBackground(Color.lightGray); gbl.setConstraints(Bu,gbc); Bu.addActionL

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

当前位置:首页 > 其他


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