都是毛驴惹的祸
有一老农赶着毛驴进城, 驴闯红灯,罚10元。
老农怒喝驴子:“你以为你是军车啊!红灯也敢闯?”
没走几步,驴又碰翻一水果摊,赔人20元。
老农更气:“你以为你是工商城管么?想掀谁的摊儿就掀?”
老农牵驴回家,路过一片青草地,驴啃青草,又被罚30元。
老农气极,骂道:“你以为你是检查团下乡么?走到哪儿吃到哪儿?”
老农骂完牵驴去河边喝水,可驴子却发起倔脾气,扬颈不饮。
老农火了:“你以为你是大款啊,没小姐陪就不喝?”
驴子掉头就跑,岸边晒一张渔网,驴上而破之,渔翁索赔500元。
老农热泪盈眶道:“你以为这是中国电信么?上网要花这么多钱?”
驴子转身踢了老农一脚,老农忍痛骂道:
“你以为你是网管么?想踢谁就踢谁?……..”
主题:从企业用人角度来看高校IT人才培养的不适应性
现象一:企业“相”马——重能力轻学历
“重能力而轻学历”这是去年YOCSEF广州论坛在场老总们一致的看法。
华南咨讯科技公司技术总监刘弘德认为,企业用人虽看重学历,但不是唯一标准。因为高学历并不一定代表能力强,研究生不一定比本科生强,本科生不一定比研究生差。企业需要的是能为公司创造效益的人才。他用人的例证:最近他相中了三匹马,一匹是大专、两匹是研究生,但大专生一个月的待遇是两个研究生待遇一年的总和。因为那个大专生懂得如何使能力转化为效益,转化能力是其他两人的几倍,而那两个研究生只是口头将军,动手不强。现在企业看中的是个人能力,包括外语、自学能力、个人素质等等,这就是企业用人之道。
现象二:IT急需——能说会写善做人才
IT行业需要综合素质强的人才,迫切需要能准确说出自己想法、写出方案及自己工作情况等文字报告的人才;而能与人良好沟通交流的人才也往往能决定他能否成功,“毕竟现在单凭一个人的能力难成好果”。
广东省计算机有限公司总裁臧根林说,那些只会埋头苦干搞研究、不修边幅的人才,正渐渐从大多公司淡出,逐步朝高校、政府部门及一些研究部门工作,“因为在新型的IT公司中,这些人越来越难以适应公司要求能交往协作的环境”。
IBM LOTUS华南地区总经理蔡雅健认为自己招收员工的标准就是要求具有相当的综合素质。他以自己公司为例,他说公司销售工作从以前的面对面谈判,变成了现在不少客户需要通过电话销售,因此“它对口头表达和应变能力有了更大的要求”。
现象三:人才的核心——人才的事业心
8月5日重庆市信产局组织的软件业总裁论坛上,软件企业老总们经常头疼:因为现在很难找合适好用的人才,大多都是利益心强的人财(只为利益的人),最后只能是成为“人裁”(被企业裁员)。
老总们认为,人才的核心力就是人才的事业心。一个人只有坚强的事业心才能为企业创造出奇迹,韩国驱逐软件公司安总认为,一个人只有在一个岗位工作三年,才知道什么是工作。广州亿码科技汤总认为,企业用人考虑的是人才的忠诚度,其次是业绩。那些“一年一小跳,三年一大跳”的跳槽人士企业是不会重用的,因为这种人根本就没有事业心,只重自身利益(我们金蝶软件公司对2年内跳了3个及以上单位的一律不要)。IBM LOTUS华南地区蔡总认为人在读书时代是为考纲而学,进入企业就要为企业纲而为--要有敬业的精神。
现象四:核心竞争力——富于创新意识
英特尔、金蝶认为:富于创新意识
得3分的人也许比5分更可取。英特尔在人们的印象中是一个不断推陈出新、升级换代的品牌,其创新精神在招聘过程中也有充分体现。英特尔在各高校招聘应届毕业生时,愿意招各科虽是3分却富于创新意识的学生,最好在校期间就完成过颇有创意性的项目。
现象五:IT企业招聘——不重专业成绩
很多公司和企业的招聘信息,发现诸如良好的合作精神和沟通能力、善于创新、富于责任感和同情心等要求几乎随处可见。而这些要求已被视为与专业技能同等重要的能力。
就金蝶国际软件集团而言,在招聘过程中,更注重的是激情复合型人才:忠诚度、责任心、主动性,而在一线的应用为主的分支机构,如重庆金蝶更注重:人品(职业道德、敬业精神)、创新能力、团队精神。
现象证明什么——我们的现实很无奈
企业说:找一个合适的人才,难!
在IT行业,更难!
在软件行业难上加难!
人才说:找一份工作难!
才毕业没经验的找工作更难!
才毕业没经验的要想在IT行业发
展更是难上加难!
。。。。。。
更多精彩IT评论,请点击http://www.vooyoo.com/list/63560.shtml
主题:软件测试工程师-8000月薪新黄金职业
眼下又到了大学毕业生找工作的日子了,根据有关数据统计,IT人才仍是企业需求量最大的人群,其中软件测试工程师、高级程序员、产品项目经理等高级职位进入“三甲”,成为IT就业市场最新风向标。作为软件开发流程中的重要一环,软件测试岗位也已经“浮出水面”,并凭借其庞大的人才需求和广阔的职场发展前景日渐成为IT职场就业的大热门,而具有特殊、热门技能的大学生正逐渐成为市场上走俏的人才之一。
就业竞争小
以往在招聘会上,招聘单位都能接到不少合适的简历,满载而归。而节后在北京、上海、深圳举办的几次春季大型招聘会上,多家企业纷纷打出各类高薪招聘软件测试人员的海报,出人意料的是,收到的简历尚不足招聘岗位数的50%,而合格的竟不足30%。
据北大青鸟APTECH软件测试工程师培训项目负责人、前北大方正研究院质量保障部总监肖睿介绍,日常的招聘工作便要占掉一个测试部门经理相当大精力。并非软件企业的招聘要求苛刻,实际情况是经过专业培训认证的软件测试工程师受到用人单位的很大欢迎,只是很多求职者并未真正了解软件测试岗位的要求,从而造成大量职场人员受专业技能限制而无法满足企业需求的尴尬现状。
发展空间大
据了解,目前我国软件从业人员的缺口高达40万之多,其中软件测试人才的缺口将超过20万,在未来5到10年中这一数字还将继续增大。
中国软件行业协会游戏软件分会副会长刘金华在接受记者采访时说,在企业内部,软件测试工程师基本处于“双高”地位,即地位高、待遇高,有的人月薪可高达七八千元。可以说他们的职业前景非常广阔,从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明显迹象。
工作收入好
目前,在软件企业中,软件测试人员的薪水主要还要看其工作经验及能力,据中国软件行业协会公布的调查数据显示,目前有两年工作经验的软件测试人员的月薪一般都能够达到4000-5000元,一些高级测试工程师年薪普遍高达10万元。记者在北京一家BTEST软件测试培训中心也了解到,其第一学期学员毕业后便可以拿到2000元至5000元的薪水待遇。
性别无偏好
软件测试工程师对性别没有具体的要求,不像许多IT职位那样,更加偏好于男性。在IT业,竞争异常激烈,人们每天要面对大量不同工作压力, 尤其是软件开发工作, 在高强度的工作压力下,更是对人们脑力、体力的双项考验,因此,许多用人单位对于这一职位的招聘更偏向于男性,而软件测试工程师相比之下,工作的压力不是太大,更需要的是责任心和自信心,所以,对人才的性别也就没有什么特别的要求。
职业生涯久
软件测试工程师的职业生涯将更为长久。质量是产品的灵魂,这也就充分说明了软件测试工作的重要作用,其工作在软件产业中无论何时都将是不可能被取代的。再有,在软件企业中,软件开发工作是业务的环节,而软件测试工作却包含了技术及管理的各个方面,而且,其对年龄的要求也没有一定的限制,所以,作为一名软件测试工程师免去了在竞争越来越激烈的IT职场不断打拼的动荡之苦,其工作相对将更加稳定。
咨询热线:0755-83369000 83369001
网址:www.sz-btesting.com
目前,在软件企业中,软件测试人员的薪水主要还要看其工作经验及能力,据中国软件行业协会公布的调查数据显示,目前有两年工作经验的软件测试人员的月薪一般都能够达到4000-5000元,一些高级测试工程师年薪普遍高达10万元。记者在北京一家BTEST软件测试培训中心也了解到,其第一学期学员毕业后便可以拿到2000元至5000元的薪水待遇。
职场任我行——软件测试工程师
所属门派:IT业
“假如存在没有任何错误的程序,那么世界也会不复存在。”
因错误而存在,因修正错误而存在,这就是软件测试工程师的存在之道。虽然测试不是解决错误的根本举措,但却是必须的手段。
软件测试工程师(Software Testing Engineer)的主要工作职责是,理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。据有关调查数据表明,目前国内许多软件企业内部的测试人员和开发人员之比在1:5,与国外软件业1:1的比例还相去甚远。
门派技能:
软件测试工程师主要职责为:
1、负责项目/产品的测试工作,分析产品需求,建立测试环境和计划,保证产品质量以及测试工作的顺利进行;
2、按照软件工程规范和项目管理流程,实施、管理和知道软件开发不同阶段的各种测试,并提交测试报告。测试的计划安排包括人员安排、进度、使用的软硬件环境、测试的流程等;
3、提交测试报告,并撰写用户说明书;
4、参与软件测试技术和规范的改进和制定。
入门资质:
一般需要至少专科学历,一到两年测试工作经验。要熟悉软件的测试技术、方法、流程、测试文档,若想进一步提升,还要熟悉自动化测试的流程、管理及深层开发(包括测试框架等);了解若干主流测试工具,如功能测试工具winrunner、quicktestpro,性能测试工具LoadRunner,配置管理工具TestDirecter, Visiual Source Safe等;熟悉一些主流的软件工程方法论和思想,如RUP、CMM、CMMI、XP、PSP、TSP;了解软件工程,软件生命周期模型基础,了解软件配置管理;能够根据不同企业的产品特点,要求了解相应的开发测试方法。对于资深的软件测试人员,有些企业还要求其本身有自主开发测试工具的能力。
由于需要与开发人员及时沟通,因此作为一个出色的软件测试工程师,还需要有良好的沟通技巧以及优秀的言语表达能力,具备良好的团队合作精神。
入门经:
缜密的逻辑思维能力 为了应对软件使用者千差万别的使用习惯和软件在使用过程中出现的各种现象,软件测试工程师应该具有逆向思维能力,能够以用户的角度出发,捕获一切可能性,对细节有不同寻常的关注能力。此外,软件测试工程师还要有穷追到底的精神,并且要善于沟通和撰写各类专业报告。
出色的沟通能力 要成为优秀的软件测试工程师,要具备出色的沟通能力和表达能力,既能够和技术开发人员沟通无碍,又能用简洁明了的话语向客户、管理者等这些非技术人员阐述系统在哪些方面还有缺失有待改进。在同开发人员的沟通过程中,要注意沟通技巧,提高沟通效率,和开发人员保持良好的人际关系。当测试人员发现软件有问题时,不仅需要跟开发人员沟通,找到问题出在哪儿,阐述自己挑错的理由,有时候甚至要提出解决方案,直接参与前期需求和代码的修改。一个优秀的软件测试工程师能够适时地站在各自的立场上考虑、解释并解决问题,从而尽量避免冲突和对抗。
全面的技术能力 作为软件测试工程师,虽然无须精通各种语言各类技术,但必须全面理解被测软件系统,明白该使用何种工具进行测试。要做到这一点一般需要有一定的编程经验,这些经验可以加深对软件开发过程的理解。
耐得住性子 软件测试工作是枯燥的,甚至重复性的,有时需要花费惊人的时间去分离、识别和分派一个错误,因此需要测试人员能静得下心耐得住性子。这个工作不容许有丝毫的心浮气躁。同时,逻辑严密但不乏重复成分的测试工作也容易使人倦怠,因此需要一定的自我督促能力。
规范测试流程 公司不正规的测试流程,不标准的测试方法,将使软件测试人员终日陷入碌碌无为的点击按钮的不良状态中。
晋阶易筋经:
初级测试工程师
入门级,具有一些手工测试经验,开发测试脚本并开始熟悉测试生存周期和测试技术;
测试工程师
能够独立编写自动测试脚本程序并担任测试编程初期的领导工作,进一步拓展编程语言、操作系统、网络与数据库方面的技能;
高级测试工程师
帮助开发或维护测试或编程标准与过程,负责同级的评审,并能够指导初级的测试工程师;
Team Leader
一般具有5年左右工作经验,负责管理一个小团队。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品,负责开发项目的技术方法,能够为用户提供支持与演示;
测试经理
能够担当测试领域内的整个开发生存周期业务,能够为用户提供交互和大量演示,负责项目成本、进度安排、计划和人员分工;
计划经理
具有多年纯熟的开发与支持(测试/质量保证)活动方面的经验,管理从事若干项目的人员以及整个开发生存周期,负责把握项目方向与盈亏责任。
秘传“薪”经:
薪资黄金点
软件测试工程师在IT行业中越来越受到重视,其薪资也节节高升。测试工程师的起薪从2000~5000元/月不等,若有四年工作经验的话,薪资在8000元/月左右,具体视不同地域、不同性质企业、测试工程师的不同能力而定。一般工作5~8年的软件测试工程师的薪资是刚出道时的新手的一倍,而10年以上工作经验的软件测试工程师薪资却走了下坡路,和5~8年的从业者持平甚至有些企业开出了略低的薪资,看来这行的折旧率较高。
软件测试行业的从业者7成左右都拥有本科学历,本科学历的从业者的薪资约为大专学历从业者的1.33倍左右,而硕士学历的从业者薪资起点明显高于本科学历从业者,约为后者的1.49倍。一般外语能力精通者的薪资为平均薪资的1.29倍左右,熟练者为平均薪资的1.09倍,值得注意的是,深圳、杭州和大连的外语能力精通者的薪资均超出平均薪资不少,其中杭州的外语能力精通者的薪资是平均薪资的1.79倍。
以3.5年左右从业工作经验的软件测试工程师的各地薪资情况来看:
深圳地区的平均年薪是全国各城市最高的,超出7万元,其中外商独资欧美企业的年薪为7.8万元,国营企业的年薪紧随其后,超过了7.3万元,合资/合作非欧美企业的年薪较低,约为6万。
北京地区该职位的平均年薪逾5.8万元;其中外商独资企业的年薪为全国之最,将近8.5万元,而其余各类型企业的年薪都在5~6万元左右。
广州地区该职位的平均年薪约为4.5万元;其中外商独资欧美企业的年薪最高,达到了7万元;合资/合作欧美企业也能拿到6.2万元的平均年薪,合资/合作非欧美企业就较逊色,年薪不到4万元。
上海地区软件测试工程师的平均年薪为6.3万元,欧美独资和欧美合资的薪资不相上下,分别为7.9万和7.7万元。国营企业略高于平均线,达到6.5万元,其余各类企业则都表现平平。
杭州地区该职位的平均年薪达到了5.5万元;其中外商独资欧美企业和合资/合资欧美企业的年薪相当,均为6.9万元,国营企业的薪资也颇吸引人,超过了5.9万元,民营/私企和合资/合作非欧美企业的年薪均不到5万元。
大连地区该职位的平均年薪为3.8万元;其中外商独资企业和合资/合作欧美企业的年薪均超过了4.7万元;国营企业的软件测试工程师的年薪也近4万元左右,而民营/私企和合资/合作非欧美企业的年薪则相对较低。
福利
上海地区的软件测试工程师享有的带薪年假是全国各地最多的,一年中平均有10天,北京、广州、大连均为8天,杭州和深圳相对较少,为6天。
以上这些地区在软件测试的培训方面都做得不错,基本上均有6成以上的从业者可享受到公司提供的培训计划,但上海的软件工程师的培训比例不到5成。杭州和深圳两地的培训是全国各地区最出色的,逼近8成。
深圳、上海均有2成的从业者可享受房贴或者补充住房公积金,大连和北京则有3成以上的从业者可享受公司的房贴或者补充住房公积金,广州更是达到了4成以上,而杭州此项福利的比例较低,仅为1成。
IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多,往哪里去,新浪论坛,网易是经常去的,人多啊,好几十万,去了以后才发现没有意思,没有共同的语言,于是逛专业论坛,行业论坛,终于找到了共同语言,总结一下论坛的经验:人不在多,有仙则灵,贴不在多,有精则行,逛了大半辈子,一个IT人发展方向一定要除了技术外,业务,理论,思想一个都不能少,于是我推荐如下这些论坛,或许真能帮助您,做论坛,都是赔本的买卖,不收费还帮助你学习,得向斑竹们致敬啊。
以下论坛排名不分先后,还有许多业界知名的论坛,主要有点偏门,这个不做概述,呵呵。
主题:IT从业人员必看的10个论坛
IT技术开发综合类
http://community.csdn.net/
适合人群:只适合软件开发者
技术开发最全面的论坛,里面可以遇到很多牛人,版面也很全,什么J2EE,.NET啊,该有的全上,在这里基本上可以提出任何问题,人气也是最旺的,不过一般提出的意见都有正方两面的,所以最终解决问题,还是靠自己。
评价:专业,很牛逼,就是速度慢。
http://www.52rd.com/bbs
适合人群:研发人员
我爱研发网,顾名思义,是针对R&D研发人员的,目前在射频,通信,手机研发是国内第一的,牛人不少,问题讨论的很彻底。论坛制度很人性化,设有资料交换区,有超大量有价值的资料。
评价:强,速度还可以;
http://bbs.chinaunix.net/forum/
适合人员:系统工程师
这里的特色就是操作系统方面在业界是最著名的,牛人不少,目前,在数据库,网络方面也颇有建树,当然灌水方面也不赖,呵呵,属于温柔性
评价:强,速度还可以
http://bbs.chinajavaworld.com/
适合人员:JAVA开发
JAVA方面非常综合的论坛了,牛人也很多,是一个难得的JAVA论坛,涉及你想象的关于JAVA目前任何技术。
评论:强,速度还可以。
电子工程师类
http://21icbbs.com/
适合人员:电子工程师
人气不错,覆盖面比较广,老牌了,就是有点和时代脱节了,无论是设计上还是内容上
评论:强,速度还可以
http://www.eetchina.com/DG/eec_dg_home.htm
适合人员:电子工程师
环球资源的子站,页面设计很大气,技术文章也比较及时和权威,是个难得的好网
评论:强,速度还可以
网络工程类
www.1000bbs.com
适合人员:布线/网络工程师
人气很旺,特色是版面比较紧凑,综合布线这一块很权威,很窄很专,时间非常久了,颜色比较明快,就是太低端了,
评价:不错,速度一般
http://www.sharecenter.net/
适合人员:网络工程师
之所以我喜欢是这个网站很多做CISCO工程都知道,也是别人介绍我去的,时间非常久了,颜色比较暗谈,属于忧郁型。
评价:不错,速度也还可以
IT营销管理类
http://www.topren.net/forum/index.php
适合人员:企业策划,CIO
业界知名的知识站点“唐人社区”,信息化管理顾问可以去看看,人也很多,可惜,都是下载,实质性内容需要改观,我记得是非常专业的网站。
评价:不错,速度也还可以。
IT管理综合类
http://club.amteam.org/
适合人群:大多数,
评论类比较多,基本上在其他媒体上看到的评论,这里都会有,要想了解IT发展的情况,就来这里看看。
评价:很好,休闲工作都可以看。
楼 主:fashion_me
主题:SAP从业人员必看的5个论坛
看到“IT从业人员必看的10个论坛”,忍不住发了这个贴,希望提高一下此处SAP的人气。不过没有彼贴介绍的那么专业了,呵呵
1,SAP forum
http://www.sapforum.net/index.php
顾名思义啦
2,SAP俱乐部
http://www.sapclub.org/index.asp
有各种培训信息,但是论坛很奇怪,注册了很久激活邮件也没有收到
3,ERPHOME
http://www.erphome.net/
很全面的一个网站
4,ITPUB论坛 > ≡ ERP与CRM ≡>SAP R/3
http://www.itpub.net/forum45.html
ITPUB很多人都知道吧,呵呵,不用多讲了,这是其中的SAP R/3论坛
5,SAP Fans
http://www.sapfans.com/
英语不好者慎入
http://www.fecit.com.cn/Pages/Download/Index.asp?DownLoadClass=1&DownLoadSerial=124&Name=
http://bbs.java.ccidnet.com/thread.php?fid=32&search=&page=3
http://www.javajia.com/index.php
http://www.chinaccna.com/Soft/ShowClass.asp?ClassID=168
http://so.5qzone.net/search.jsp?keyword=java&t=torrents
---------------------------------------------------------------------------------------------------------
Javascript与Java在浏览器中的交互
Javascript 刚 出 来 的 时 候, 许 多 人 都 以 为Javascript 和Java 差 不 多, 而 事 实 上 两 者 毫 无 二 致. 但 这 并 不 是 说 两 者 就 毫 无 联 系 了. 在Netscape Navigator 3.0 以 上 的 版 本 和IE 4.0 中, Javascript 却 可 以 和Java Applet 实 现 交 互.
---- 在Javascript 中 有 一 个 对 象 叫 做packages, 通 过 它 可 以 调 用Java API 中 的 方 法. 比 如
---- packages.java.lang.System.out.println("Hello,World!")
---- 用Netscape Navigator 3.0 以 上 的 版 本 来 看 含 有 该 语 句 的html 文 件, 你 会 在Netscape 的Java Console 中 看 到"Hello,World!" 的 输 出.
---- 可 能 你 会 觉 得 这 样 做 很 不 直 观, 因 为 不 能 在 浏 览 器 中 直 接 显 示, 还 要 另 外 打 开 一 个JavaConsole 窗 口, 似 乎 麻 烦 了 一 点. 但 是 这 个 例 子 最 简 单, 它 不 需 要 你 写 什 么java 程 序, 直 接 调 用java api 中 的 函 数 就 可 以 了.
---- 为 了 进 一 步 说 明javascript 是 如 何 在Netscape Navigator 中 控 制java applet 的, 让 我 们 看 看 以 下 的 例 子. 该 例 假 设 你 是 一 位java 程 序 员, 现 在 接 到 一 项 任 务. 该 任 务 要 求 你 设 计 一 个java applet, 这 个java applet 会 在 浏 览 器 中 画 一 个 圆, 然 后 你 要 提 供 一 个 按 钮 给 用 户, 使 得 用 户 只 要 用 鼠 标 点 一 下 按 钮, 这 个 圆 的 颜 色 就 会 改 变.
---- 凡 是 学 过java 编 程 的 人 都 知 道 这 个 程 序 可 以 全 部 用java 语 言 来 实 现. 但 是 我 要 说, 这 样 做 有 一 个 弊 端. 那 就 是 源 程 序 会 变 得 复 杂, 长 度 增 加. 因 为 画 圆 很 简 单, 一 个paint() 就 可 以 完 成 了. 但 是 加 上 了 按 钮, 就 要 加 上 有 关 事 件 处 理 的 方 法. 程 序 马 上 就 变 长 了. 如 果 用javascript 来 实 现, 则 情 况 就 简 单 多 了.java 程 序 中 只 需 要 提 供 一 个 控 制 颜 色 变 化 的 方 法 就 可 以 了. 对 于 按 钮 事 件 的 处 理 则 可 以 全 部 交 给 浏 览 器 自 己 去 解 决 了.
---- 以 下 是 该 例 的java 源 程 序, 以 及 与 之 配 合 的javascript.
import java.awt.Graphics;
import java.awt.Color;
public class simple_sample extends java.applet.Applet
{
Color line_color=Color.black;
String color_description="";
private int i=1;
public void start_2_change()
{
if (i%2==0)
{
line_color=Color.yellow;
color_description="The current color is Yellow!";
}
else
{
line_color=Color.green;
color_description="The current color is Green!";
}
i++;
repaint();
}
public void paint(Graphics g)
{
g.drawString(color_description,10,10);
g.setColor(line_color);
g.drawOval(30,20,79,79);
}
}
Javascript:
< form >
< input type="button" value="Alter Color"
onclick="document.simple_sample.start_2_change()" >
< /form >
java swing 组件大全
[本部分设定了隐藏,您已回复过了,以下是隐藏的内容] 狣Jg煥&恃
import javax.swing.*; ?H*p?
﨓马橻絳?
import java.awt.*; 鳶竍0菿?
import java.awt.event.*; B98?颜
import javax.swing.tree.*; O羹m>窥h?
import javax.swing.event.*; 臸a霕.1s;!
import javax.swing.border.*; ?絮掟繩[
import javax.swing.table.*; |?C赨 <?
6'衒?lt;?
/** *{氨05*??
* Swing 组件测试程序 餼-J饺麈B?
* 测试Swing所有组件及其相应的事件 掓B耦8o?
* @author 天翼.李 2003.4.17 晚23:14 鑿[?b庢
* @link http://www.robochina.org +R 3?z7眼
* @link robococde@etang.com f?湤轋?
*/ 嶅冰 賬?
public class SwingTest extends JFrame ?p/ s洅?
{ IS?L7
/** ?Ki鼣S
* 主模块,初始化所有子模块,并设置主框架的相关属性 qv刁撎,Y
*/ +瀧恹"L?
public SwingTest() *絁腊p8
{ 盂?鵦O?
// 初始化所有模块 淃v叞1j栉
MenuTest menuTest = new MenuTest(); 逥?.モnm
LeftPanel leftPanel = new LeftPanel(); ??霮M?
RightPanel rightPanel = new RightPanel(); s ?郷3?
BottomPanel bottomPanel = new BottomPanel(); ⅸlH坳/?
CenterPanel centerPanel = new CenterPanel(); 蹝r<噉?q?
R槱J 煟
// 设置主框架的布局 鱐巪搨r?
Container c = this.getContentPane(); 磟緉?%Rt朻
// c.setLayout(new BorderLayout()) W俠Mz?x峁
this.setJMenuBar(menuTest); 4胖髒柄,蝤
娺荀磥#V?
c.add(leftPanel,BorderLayout.WEST); `/y\?丙
c.add(rightPanel,BorderLayout.EAST); %Q?WfO~?
c.add(centerPanel,BorderLayout.CENTER); a邅 ?
c.add(bottomPanel,BorderLayout.SOUTH); ?\鷩圲雦
N?_A嶁
// 利用无名内隐类,增加窗口事件 ??]U31
this.addWindowListener(new WindowAdapter() ?5-??
{ ?买絜義}
public void WindowClosing(WindowEvent e) 渽塞怦^u
{ 蕊L|枺5?=
// 释放资源,退出程序 ?㏕?<?u
dispose(); 粹?竍z半?
System.exit(0); 听S淩懯?
} X?tB綐?=
}); n`??馍
殄? /扃?
餯攜^沱??
M??偭c?
setSize(700,500); 0?%荷??
setTitle("Swing 组件大全简体版"); 萎?鳤謀?
// 隐藏frame的标题栏,此功暂时关闭,以方便使用window事件 ?lt;锶<s$??
// setUndecorated(true); 邵o"唤?漟
setLocation(200,150); xM妐?y?
show(); GG068蔹R
} 1??鼑6飤
?箓€藔
//////////////////////////////////////////////////////////////////////////// 沤,酙pLT?
/** `8?^腍Q俰
* 菜单栏处理模块 }MS艘蹬?
* JMenuBar --+ 6斾9L??
* --JMenu--+ 庺幠振>炮?
* --JMenuItem --ActionListener F辺?幍E鮂
* #▕~?R勐
*/ 勡p竳E#蚘F
class MenuTest extends JMenuBar 6*l配0
{ ?笽菋?
private JDialog aboutDialog; rw?+? ?
}垔O 暚;溶
/** .谎z擵Z?
* 菜单初始化操作 夼等冚?q"
*/ ^F?lt;o傣Y?
public MenuTest() 伡 qS ??
{ ^€鈨愁9 ?
JMenu fileMenu = new JMenu("文件"); 嬴??I)?
JMenuItem exitMenuItem = new JMenuItem("退出",KeyEvent.VK_E); 碉5計?挹
JMenuItem aboutMenuItem = new JMenuItem("关于...",KeyEvent.VK_A); 婜ˊ腎駊ez
烣a@??
fileMenu.add(exitMenuItem); [QHbP?m
fileMenu.add(aboutMenuItem); -l悔髴[?
x郜?y
this.add(fileMenu); 鐤苩\眴
綫嘓桟RB
?深r 工?
aboutDialog = new JDialog(); /u这'F薄
initAboutDialog(); 饭グz娗?
逪 ?嫉?
// 菜单事件 X[姩?5潃
exitMenuItem.addActionListener(new ActionListener() 澩堶?鐹r
{ kY?僭薹J
public void actionPerformed(ActionEvent e) ?立qa?鬙
{ 迊踍隲7ZQ?
dispose(); 鮤jh熍?
System.exit(0); 鈌嫞瓜|?
} ?1礲觼?
}); 賏曶=?憱
q?艽w:{B
aboutMenuItem.addActionListener(new ActionListener() 賞徸麝O嶱
{ ?5椨€礉A
public void actionPerformed(ActionEvent e) 侙椣貉K刏?
{ 誵?悵V釶
// "关于"对话框的处理 儓Uu聄?
aboutDialog.show(); 奠b?貋略
} g邔兙苍B茔
}); 痜?邅 Jh?
Lf隚3 ?>?
} 雜p銉??
G瞆""??
/** 軸?铃!z?
* 返回关于对话框 驽渌}樶刲
*/ #V鲶?02?
public JDialog getAboutDialog() mz?KM7痊
{ o梲宕 ?6
return aboutDialog; *x発v?
} h蹍F.馁b鋓
OD}?榊}力
/** Qs梀?
* 设置"关于"对话框的外观及响应事件,操作和JFrame一样都是在内容 伲*棃f?
* 框架上进行的 mZ?,O赞
*/ 縛Q|8?
public void initAboutDialog() 蓬浯n曛'
{ |覡?6蚼?
aboutDialog.setTitle("关于"); ?>?hjE?
A踬?~
Container con =aboutDialog.getContentPane(); 鈍AQ詾宜?
欥鄃擒i$咮
// Swing 中使用html语句 ?屻6??
Icon icon = new ImageIcon("smile.gif"); 鵬蓵N飑洁?
JLabel aboutLabel = new JLabel("<html><b><font size=5>"+ (}8]-鋟-
"<center>Swing 组件大全简体版!"+"<br>天翼.李",icon,JLabel.CENTER); PA?J9?
N偵稆舡?
//JLabel aboutLabel = new JLabel("Swing 组件大全简体版!",icon,JLabel.CENTER); 鏫臕X縄翃
con.add(aboutLabel,BorderLayout.CENTER); 棱搼甂嘘?
?怂桃?
aboutDialog.setSize(450,225); Ti貓g委蠲
aboutDialog.setLocation(300,300); *鎆蕌捏3j?
aboutDialog.addWindowListener(new WindowAdapter() ??,蛴4兰
{ 鉨O侮.僎?
public void WindowClosing(WindowEvent e) Z'裀q??
{ J碲/z?
dispose(); 9阴莁踋 ;T
} ?>猬袭挍
}); 8矕8)L9朿=
} rY?伌]m繝
} 骿⒑J涃睚
(~珇/磫
//////////////////////////////////////////////////////////////////////////// 櫘??F?
/** 褥镮??/?
* 最左边模块,继承JPanel,初始化内容为JTree 艞i嵖?猐
* JPanel--+ !??鯒藔
* --JTree S嶸3}琼?
*/ j??FK豰`?
class LeftPanel extends JPanel .颓?严?
{ 曣7蒈.?>?
private int i = 0; ?{鼓N?貤
public LeftPanel() n?矮摜
{ }徙們F\噲
T正I?慜?
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root"); 乘崐?X硔)
DefaultMutableTreeNode child = new DefaultMutableTreeNode("Child"); 畮(膎w蕾
DefaultMutableTreeNode select = new DefaultMutableTreeNode("select"); 媡 ?櫅臁H
缻?醨挶
DefaultMutableTreeNode child1 = new DefaultMutableTreeNode(""+i); 輺凳彲?撠W
攥?埬*?
root.add(child); d_败:=G?
root.add(select); K蕶貯 釳mn
child.add(child1); 阽?f諙[
A牡4i,蛱;?
JTree tree = new JTree(root); 葠齳@飪2
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION); ?Vf>HD
IUas$縪?
// 每个节点的行高 9el僨rH?
tree.setRowHeight(20); 瑄 iT
tree.addTreeSelectionListener(new TreeSelectionListener () 榔兛鈅)?
{ 遘!]蹇f
public void valueChanged(TreeSelectionEvent e) 雠螼H?錈?
{ 蒀D搓?僁
// 内隐类不能直接引用外部类tree,1.外部变量可申明为final 2.新建外部类的对象 ?%k呻韰F
JTree tree =(JTree)e.getSource(); 玩Vw孇O挊?
DefaultMutableTreeNode selectNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent(); ?Hcv6 濙
i++; ?蹠/I
selectNode.add(new DefaultMutableTreeNode(""+i)); 0誹Txy1?
} 晚,n& 槧O
}); 嗘颾(W烹@?
{YBBLl銷?
tree.setPreferredSize(new Dimension(100,300)); \ca ?堂
// tree.setEnabled(true); i讯LnY感?
JScrollPane scrollPane = new JScrollPane(tree); 恡鱸嵭篅ZX
//scrollPane.setSize(100,350); \e儭7&
this.add(scrollPane); 2霾?;?
} ?C?T摫鱕
} 纪o琋輂qTe
诎深M$?假
//////////////////////////////////////////////////////////////////////////// 凎?栙]?
/** ?A8鮽S椛
* 最下面层模块,继承JPanel,初始化内容为进度条,并由定时器控制 ?i孝??
* JPanel--+ Y7烮}'a3孌
* --JProcessBar --Timer 汼哊qH8里3
*/ 吭澔鑬c
class BottomPanel extends JPanel M楠U ? K?
{ O疛Rv"綽?
private JProgressBar pb; 躷传枕?t?
//////////////////////////////////////// 預洑l?PB
//public class 建{Y(C
////////////////////////////// 湬岜%M觳
public BottomPanel() 佴?=6蒅?
{ 艋F? n
pb = new JProgressBar(); 蔃诿(t溻h
pb.setPreferredSize(new Dimension(680,20)); q烈D将?lt;
:鸜窟r[1
// 设置定时器,用来控制进度条的处理 ?9蹚靓Ko
Timer time = new Timer(1,new ActionListener() 嫊??x
{ 捍臓U0?%p
int counter = 0; 椭鳶焚mK邝
public void actionPerformed(ActionEvent e) z罳諣r?宺
{ 坢6NR?
counter++; 嘿?譏誔G?
pb.setValue(counter); ?2`?I
Timer t = (Timer)e.getSource(); 鞚??vP
?*t酘
// 如果进度条达到最大值重新开发计数 寲/?0乻?
if (counter == pb.getMaximum()) F紌澼DL頯%
{ BL?鸹ㄓ?
t.stop(); 虑r?Q閘
counter =0; 慹&e=.鎼
t.start(); A9鸀aa€霾$
} ?鬰銛軒V?
} ??=~.?
}); €oむQ隰橹?
time.start(); 幈k齦1?
?:血`?
pb.setStringPainted(true); 菙??孠?
pb.setMinimum(0); 巣粡?<S
pb.setMaximum(1000); " h4[№
pb.setBackground(Color.white); 6瞴1?乇a
pb.setForeground(Color.red); 昒:nI5?
丕w嵇?
this.add(pb); 獛?鼝P1'
} "溪J u'S}
酏F鎥1r|酘
/** R蝽?1`??
* 设置进度条的数据模型 ,h蹶/xVa
*/ 粵ゥjk豳5
public void setProcessBar(BoundedRangeModel rangeModel) -敠 迀?
{ 髵肌i璟斂?
pb.setModel(rangeModel); W斺|猕V?O
} f4Hj郴鏪
} 暡w?沸??
禔荼[`??
//////////////////////////////////////////////////////////////////////////// Y#OF;o2?
/** 珘Е覊`h鲼
* 最右边模块,继承JPanel,初始化各种按钮 轅鈓y$o客?
* JPanel--+ R?鏽z r?
* --JButton --JToggleButton -- JList -- JCombox --JCheckBox .... !?`躳奾m_
*/ l?偭P*:
class RightPanel extends JPanel ЧJ?玛O?
{ ?YI?[欹?
public RightPanel() fNN.'湅3蟺
{ ?历a?苘
this.setLayout(new GridLayout(8,1)); 禭腜c犃
<烋v`8m恍
i袙wo?卸?
// 初始化各种按钮 枩 ?詊=
JCheckBox checkBox = new JCheckBox("复选按钮"); ai飍?圠)?
JButton button = new JButton("打开文件"); 囉QV7五靡?
button.addActionListener(new ActionListener() X瞋:D?v]
{ 彵?匋眀m
public void actionPerformed(ActionEvent e) 郂;C個QoKF
{ 揮ㄞR炎d?
JFileChooser file = new JFileChooser(); U陈!z?
int result = file.showOpenDialog(new JPanel()); @?m#A`Q
if (result ==file.APPROVE_OPTION) %檗,W?繝4
{ 蠞???
String fileName = file.getSelectedFile().getName(); o?9
String dir = file.getCurrentDirectory().toString(); i#'杪?J
JOptionPane.showConfirmDialog(null,dir+"\\"+fileName,"选择的文件",JOptionPane.YES_OPTION); 憛s払 `誕
} 割=勼??
} 揸`脸勵??
}); F,i赘?k?
//////////////////////////////////////// p??2$ ?
//public 7??碜-
////////////////////////////////////////// 妝劻?\JM
\W??%]R
JToggleButton toggleButton = new JToggleButton("双态按钮"); 鴋]?ボ?
铚;?KU荂?
ButtonGroup buttonGroup = new ButtonGroup(); Il慀-F
JRadioButton radioButton1 = new JRadioButton("单选按钮1",false); ?蝃?族
JRadioButton radioButton2 = new JRadioButton("单选按钮2",false); ?蠞鵬?L?
L蜻5I挆w
// 组合框的处理 c2y?2AE9h
JComboBox comboBox = new JComboBox(); 騲朮?!蕂
comboBox.setToolTipText("点击下拉列表增加选项"); 璳b_S?*?
comboBox.addActionListener(new ActionListener() d稛莶?n
{ 桚4F髎蓎_
public void actionPerformed(ActionEvent e) ?開甝j?V
{ ?7_?T讶?
JComboBox comboBox =(JComboBox)e.getSource(); (堅﹩D蕳8
comboBox.addItem("程序员"); ?.珯k引?
comboBox.addItem("分析员"); 獛?謰~7
} ~㈦哬QXジ
}); H縶(譗|?
s?箘潄?
// 列表框的处理 "︾撊?d!
DefaultListModel litem = new DefaultListModel(); ? 蝏??廰
litem.addElement("香蕉"); 堅?9艑唭}
litem.addElement("水果"); 怱i燪莥╂?
JList list = new JList(litem); 忉?B鉁#?
?Q讀&韯
甅|P崘?:6
list.addListSelectionListener(new ListSelectionListener () z礘??灵
{ 諌p滙o.鞧(
public void valueChanged(ListSelectionEvent e) 筣??;?
{ ;柳V@
JList l = (JList)e.getSource(); 秷NE +丶鵜
Object s= l.getSelectedValue(); R寂経塭顯
JOptionPane.showMessageDialog(null,s,"消息框",JOptionPane.YES_OPTION); 鰠7鎾Aq茟9
} 駙k+頮&??
}); BoT僂ソ藅
4uS&獧都\
// 增加按钮组 丹頫瞆狦?
buttonGroup.add(radioButton1); K?(-/
buttonGroup.add(radioButton2); 被爛Z揹).?
卶?h愳@
// 增加各种按钮到JPanel中显示 薈@A&辜9?
add(button); 艡€25
add(toggleButton); 裀o忕>ご憫
add(checkBox); 4渼0妏
add(radioButton1); -兵oK?壠?
add(radioButton2); a膷賗?
add(comboBox); 81郩?枺
?憢寚??
add(list); 証XB ?N
0?劥.<X_?
this.setBorder(new EtchedBorder(EtchedBorder.LOWERED,Color.LIGHT_GRAY,Color.blue)); 讵E?M
} 諙:拞涚--
} lv沼? ?
_鄵y睻=?
//////////////////////////////////////////////////////////////////////////// j瞙x (G驾
/** 穌鵱/e3?
* 中间层模块,继承JPanel,初始化页签,并在页签中设置文本区,表格, ?p刘*円珻
* 文本区上下用分隔条分隔 赨Lc貧讼
* JPanel--+ )k艙i轣)€
* -JTabbedPane--+ 紪牠w傞VlP
* --Draw --JTable -JTextAreas -JText --JPopupMenu 鎢?痹譊e
*/ 6?潎醇埃-
class CenterPanel extends JPanel 蚅?傷h>?
{ ?靭抽?
public CenterPanel() 喌虅?K烣?
{ r验隙?/?
JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP); 嵬樳D匐
瑥?q?
JTextField textField = new JTextField("文本域,点击打开<文件按钮>可选择文件"); 香?鲠吭尊
textField.setActionCommand("textField"); ?!擷労?
2zK膉膨R?
JTextPane textPane = new JTextPane(); 褼榮Q顬0
textPane.setCursor(new Cursor(Cursor.TEXT_CURSOR)); L秱U蕠W軒?
textPane.setText("编辑器,试着点击文本区,试着拉动分隔条。"); ?O'@H陫
]s刍^w( ?
textPane.addMouseListener(new MouseAdapter () 醃L臿窵~?
{ 曟6攧鍴
public void mousePressed (MouseEvent e) z緑?rH$
{ 澋W彡 o?
JTextPane textPane = (JTextPane)e.getSource(); 骙馚qv?
textPane.setText("编辑器点击命令成功"); ?f@? 爣I
// textField.setText(""+textPane.getText()); ;d霁
} A該ne?
}); 9gnMQ馏?w
赂┹o?烻
/* 屆皮舐_€?
UpperCaseDocument doc = new Document(); k蹓虅≯?
textField.setDocumentsetDocument(doc); J抜]冯6菋
doc.addDocumentListener(new DocumentListener() ??畇<轲?
{ 鲾襴?t摪
public void changedUpdate(DocumentEvent e){} ?X顭??
public void removeUpdate(DocumentEvent e){} 魷??顤芟
public void insertUpdate(DocumentEvent e) ?扝嗛婤!
{ B九洱曔饇k
Document text = (Document)e.getDocument(); 拄 莋vw{鹛
text.setText("复制成功"); AP軇,E
} ┟m]叾
}); 欼k嶂揪&憨
*/ /飈t邙 5
?鏵;塊tN
JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,textField,textPane); 廻萅R??
鱺Fr鏿[%#
餔[鯚.?
JTable table = new JTable(10,10); 啃鱻4?H
//table.showHorizontalLines(true); `鬈乺?Ty?
//table.showVerticalLines(true); 膱2.嚅o蠥P
//table.gridColor(Color.blue); 瀳我N婹r}?
<危峋膙7'
JPanel pane = new JPanel(); 犬Rn??
pane.add(table.getTableHeader(),BorderLayout.NORTH); O焆瀹?i
pane.add(table); ??!T a譈
?原摴?
tab.addTab("文本演示",splitPane); +T?lt;憭U??
//tab.addTab(table.getTableHeader()); ?簖?篞G?
tab.addTab("表格演示",pane); (i▏胻r駯~
tab.setPreferredSize(new Dimension(500,600)); ?lt;}!騸礅
this.add(tab); l?綧橏麉s
this.setEnabled(true); Q/8︶枠U虏
} B开U?-?
} ?,??秔
l%霾<?猩_
:`浴'g袰%?
public static void main(String args[]) 資d暣HS
{ '鍉螦A?
// 设置主框架属性,此处没有使用,可打开看看效果 ]榥?胖v刚
//try ?巸f蜁I
//{ ??X`sw)?
// UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); ㄦ鑿广$A
//} O?譸Duft?
//catch (Exception e){} ?W阻搲
new SwingTest(); 趬:"豄
} 掳?\+B跐
}
闪烁的星光,温馨浪漫的霓虹灯...
我,还是当初的我,一个置身于城市的农村男孩。在一对对颀长的泪影中,我的身影显得那么单薄,伟岸的身躯也只是一个细长的弱不禁风的影子。我想啊想,却又没有头绪。
孤寂的心,孤寂的灵魂!
迎面走过来一对对相倚相偎的情侣,他们边走边谈,快乐之极,飘来一串串响亮的欢笑,那声音在我耳朵里似乎带有嘲讽的意味。我不屑一顾,把双手插在裤袋里,冲冲地向前走去。
一张张陌生的脸,让我感觉到我是生活在异地国,一种游子之情时时涤荡在我心头。穿过宽阔的马路,我仍然把手插在裤袋里,这是它的归宿,而我,没有归属!
十五六岁的少男少女们都在学会“成熟”,改革开放倒是让他们真正的开放了许多,在电影电视的诱异地下,他们都有新时代人的气质,而我,还是当初的我,一个新时代的“笨男孩”。
我有尊严,有追求。虽然也很寂寞,但我的天地在我心中。
在人生的道路上,我也无法抗拒命运之神的特意安排。
常有朋友打电话来,问我近况如何,我总是脱口而出:还可以,就是有点寂寞。究竟何为寂寞,我也解释不清。
面对各种事物时,我一般都会沉思良久,时时警告自己:不要误入歧途,脚下的路还和很长,是否走得辉煌,只能凭自己去选择。当我遇到困难想退缩时,我的心底有个声音就会向我大喊:继续向前,不然你将永远走不出尽头,永远找不到你的归宿。于是,我又鼓起勇气,拖着沉重的脚步向前走去。
常言道:男儿志在四方。为何还担心一个人在夜里散步?一个人的时候就要自信自立,一个人散步的时候,是一种精神的解脱,对于我,它是探求人生的时机,是对生活的评价,难道不是么?只有一个人的时候,我才有这种最真切的体会。
宁做山顶的独草,也不愿躲在绿荫下。真英雄何所遇?他遇到的是全身的伤痕,是孤单的旅途,以及愈来愈真切的渺小感。
posted on 2006-06-30 15:27
MEYE 阅读(1165)
评论(2) 编辑 收藏 所属分类:
MUSIC