宁夏学java要去哪里java培训学校好些好?

随着Internet网络建设协会网站建设文案小学的迅速发展协会网站建设文案小学,特别是校园网络的广泛建立,开发建设基于Internet的多媒体学习资源具有重大意义专题学习网站是在因特网的环境下,围绕某一专题进行较为广泛深入研究的资源学习型网站,专题学习网站在中小学教学的。网页文案写作要非常简洁清楚,逻辑结构清晰,列出小标题有助于读者大致浏览之后就抓住内容重点如果读者再想仔细看的话,自然会看标题下面的具体解释可以带一些煽动性情感 这一点更适合于直接在网站上销售产品和服务的网站。4学员动态,资料,学员空间等等方面内容协会网站建设文案小学我的意见是你最好在你所在地寻找网站建设的公司。9月19日下午,各中小学校长将在教育局三楼会议室现场演示学校网站建设情况为使我校网站顺利达标,现对我校网站各栏目分清责任,细化要求一成立领导小组组长z 副组长zz 二各栏目负责人和子栏目负责人必须在迎。如页面大小,颜色字体字号等注2界面细节,引用界面规范文档如表格中的文字对其方式注3交互细节,引用交互规范文档如出错提示的方式注4文案细节,引用文案规范文档如各种提示文案。旅游网站建设方案 篇1 各城市在建设旅游电子政务网和旅游资讯网时,须遵循统一标准和各具特色两个原则统一标准即各城市各区县在信息的组织方式信息的表现形式信息的描述标准网站固定的功能模块和网站数据库模式等方面要求与省局。没有的话,就简述企业网站建设的重要性和对以后公司的营销渠道的促进,列几个要点就好,有官网的话,建议先浏览一下网站,看看有没有细节的遗留,再分析网站的问题,实在不知道怎么写的话,可以到壹六八信息科技那里看看。你要说清楚你具体要做什么系统,单凭网站建设四个字说的有些太泛泛了,学院类网站做过不少,像做过的北京十五中,北京服装学院,中国传媒大学他们的站所涉及到的功能模块不是一个两个,而且要具体到实现环节和执行环节的。学校网站的建设,要符合学校的宣传教学及管理等实际情况需要,各大功能板块如社区论坛聊天室同学录的入口要保持一致因此,在网站的建设过程中应注意网站各功能版块的整合中小学国际互联网站建设的第二步是如何在。作为水行政主管部门,宝鸡市水利局高度重视网络宣传工作,及时开通了宝鸡水利网站,借助网络平台,发挥好服务和宣传业务等作用,占领水利宣传制高点,为水利建设营造舆论宣传的良好氛围经过几年努力,水利网站在行业内有一定的影响力,水利网络宣传。三学校网站的建设可以帮助学校提供全新的互动功能,突破传统的教学模式,在学校网站建设的功能上进行重大的创新将在线阅读在线咨询在线交流等学习方法纳入网站功能,同时使用文字图片视频等表达形式,使用户在使用网站。1 虚拟主机是你的网站程序在网上存放的一个空间,空间越大,存的越多对虚拟主机的选择,具体根据你们网站的访问量还购买,选择合适的带宽2 com域名为全球企业级域名 CN 为中文域名 COMCN 为国内企业域名。准确传递信息每个企业的经营的业务不同,建设东莞网站建设格子网络建设的网站风格也都不一样,具体怎样做才能带来流量,促进转化,不仅仅取决于技术,还有设计文案等,所以在建设自己的网站之前一定要多加考虑,认真准备。有意向的,可以与我们联系,看下我们的网站建设服务案例4网站的测试 网站开发后,还需要进行网站测试测算完工需要对我们的网站进行功能性测试和网站的文案等展示方面的基础测试等等5服务器选择 正规的网站是少不了。7文案中的Title及meta标签编辑标准 站内文章的“Title”就是文章的标题,是搜索引擎进入网站的一个入口,应嵌入品牌名称关键词及魔力词“Meta”中的“description”描述,可为文章的第一段,或文章中关键词出现。
摘要:随着中国信息技术飞速的发展,云计算、AI、5G等创新技术被更多地运用到教育手段变革、教育资源共享之中。阿里云提出的“飞天加速计划”也在后疫情时代,通过云力量帮助中国高校培养新一批创新人才。“心中装着无数的梦想,憧憬着那远大的志向。我们聚集在贺兰山下,为的是重振西部的辉煌。”这是宁夏大学校歌中的内容,短短几句歌词唱出了西部高校学生对美好未来的向往以及他们身上对西部振兴的使命感。扎根宁夏大学二十余载的秦飞舟老师同样深感自己肩上责任的重大,让学生们有开阔眼界的机会、有走出去闯一闯的底气、有实现梦想的核心竞争力,是她作为一名西部教师最朴实也最真挚的心愿。秦飞舟自1996年起就在宁夏大学物理与电子电气工程学院从事计算机技术的相关教学,目前任教于信息工程学院,主要教授C语言、数据结构、数据库原理、Java程序设计、Android应用开发等课程。学院以计算机类平台专业为主体进行新工科建设,以计算机科学技术、软件工程、网络工程为试点,经过几年的研究与实践,提出了“应用型创新人才培养模式”,旨在培养具有社会适应能力和发展潜力,能够胜任专业技术和管理工作的、强基础重实践的高素质、宽口径复合型人才。2020年,云栖大会的一次公开课让秦飞舟与阿里云结缘,此后,便积极投身于基于阿里云智能技术和云上环境的教学实践与改革。产学合作明确教学方向 “飞天加速计划”助师生体验云端教与学在二十多年的执教生涯中,秦飞舟亲眼见证了西部高校的发展和学科水平的进步。然而,相对于国内其他地区,西部高校数字化建设和发展仍相对滞后,师资力量也尚未发展到南方院校的水平,加之西部地区真正实现云端应用的企业有限,教师能够真正深入到企业中进行深度的交流和学习机会寥寥无几。对于目前的云计算教学,很多老师还是在单打独斗,甚至有的老师自己都尚未接触过真正的云端教学。这些因素无疑都放缓了西部高校数字化进程的脚步。从国家“双一流”建设高校的名单不难看出,相对于发达地区,西部地区高校在“双一流”名单中占比很小。就宁夏大学自身而言,学院现有的授课模式、教学课件及实验环境与高质量数字化人才的培养需求存在脱节现象。实验设备和实验环境并不能匹配教学发展的需求,机房设备老化、建设周期长、建设经费有限等都成为了硬性的限制条件。得益于教育部产学合作协同育人项目,秦飞舟获得了与阿里云合作的机会。此次项目的建设目标是将数据库课程融入阿里云技术(如云操作系统 Alibaba Cloud Linux、云数据库PolarDB),使用阿里云的云体验平台、天池AI实训平台作为教学实践平台,让学生进行配套教学实验,在云实验室中进行,切实体会到云服务的科技创新之处。谈起这次合作,“明确了方向感”是秦飞舟特别深切的感受。一方面,老师在教学中明确了重点往哪个方向引导学生;另一方面,学生了解了作为新工科人才最需要掌握的新技术有哪些。秦飞舟所教授的数据库原理及应用课程,不仅是传统的计算机科学与技术、软件工程等专业的核心课程,同样是大数据、云计算、人工智能、区块链、虚拟现实、智能科学与技术等新工科专业的核心课程。随着云计算的发展,数据库的部署形式也发生了很大变化。传统的数据都是部署在客户机房里面,与客户的机器绑定。而在云环境下,希望数据库能够在多种形态下部署,比如公共云、专有云/私有云、混合云以及软硬件一体化独立部署,或者纯软件输出等。秦飞舟说,过去的数据库教学只停留在比较基础的原理层面,在接触了阿里云之后才发现,只讲原理远远不够,更重要的是让学生们了解和掌握新的应用。有了方向感,就有了前进的动力。上学期,秦飞舟通过阿里云“飞天加速计划”免费申请到了一台ECS服务器,接着又为她的学生们申请了50个阿里云账号。自此,2019级两个班的同学开启了云端第一课。秦飞舟的目标是让学生初步掌握中小型数据库的基本操作,了解中小型数据库的管理方法,熟练掌握MySQL数据库系统下如何利用数据库进行程序设计以实现数据检索、数据修改等基本操作,以及如何保证数据的精确性、安全性、完整性和一致性等。在教学过程中,她使用阿里云的MySQL平台布置了MySQL数据库和表的管理、MySQL的单表查询和多表查询、MySQL数据完整性的操作等实验任务,学生使用免费账号直接在云端完成了各项实验实训。基于一学期的云平台体验,学生们建立起了“云思维”。今年新学期开学,秦飞舟又为学生们申请了50个账号。本学期的JAVA课是实用性很强的一门课程,网站设计、软件编程、游戏开发等都可以通过JAVA来实现。在课上,当让同学们利用JAVA做一个应用端的时候,秦飞舟欣喜地发现,学生主动提出把这部分的实验内容部署到云端去实现。更有意思的是,有好几名学生充分运用“云思维”早早地就开始计划把未来毕业设计的内容也部署到云端。“飞天加速计划”免费资源惠及师生 云端思维为新工科人才铺路除了依托阿里云布置课内实训任务外,秦飞舟注意到平台提供的各类免费学习资源也十分强大。针对新学期开展的JAVA课,秦飞舟利用业余时间在平台上收集整理出了包括入门篇、进阶篇和实际应用在内的三套JAVA资源,将其作为现有教材的补充推送给学生。同时,她还鼓励同学们充分利用平台提供的各种免费实训环节,不断提升实践能力。在阿里云的协同育人项目和“飞天加速计划”的影响下,同学们的云思维不仅植入在了课程学习中,也体现在了其他科技实践活动中。以前进行参赛作品演示时,老师们需要用一个无线路由和两台计算机来分别充当服务器和客户端,再连接其他一些硬件来搭设一个小规模的局域网环境。这样的局域网存在覆盖范围小、用户数量受限、传输信号不稳定等诸多问题,尤为关键的是,这样的局域网仅是对云上环境的简单模拟,学生们无法体验真正的远程操控和云端部署。而在接触了云端技术以后,同学们立即想到可以把大赛演示内容直接部署到云端。这样不仅可以弥补局域网的诸多不足,更可以把案例演示、协同工作等真正搬到云端,使同学们获得真实的云上操控体验,在参与一些学校和地区赛事时有了更好的表现。这种对云端实践的渴望和对云端技术的热衷,成为了同学们不断尝试和探索新科技的动力。“真实的云上环境、丰富的平台资源和全新的实践体验,激发了同学们学习和探索新技术的热情,为他们指明了前进的方向——从新技术的体验者成长为新技术的开拓者。”秦飞舟称。将前沿技术引入课本 以云为基石赋能课改在推行教学改革的过程中,将云计算领域的前沿技术带到课堂、融入教学意义重大。因此,对现有计算机相关教材的内容进行更新势在必行。目前,秦飞舟正在对其编写的教材《数据库原理与应用—以MySQL为实例进行讲解》进行修改,教材在以MySQL为主的数据库原理与应用的基础上,新增加了阿里云原生数据库PolarDB的构架及应用等相关内容。阿里云自主研发的云原生数据库PolarDB具有高性价比、高可靠、高性能等优势,可以满足大规模的应用场景需求。在教材编写的过程中,阿里云为秦飞舟提供了PolarDB数据库的大量技术资料,这部分内容可以帮助学生更好地了解前沿技术和产业方向,更可以提升学生毕业时的核心竞争力。从初次携手阿里云到如今在云平台上展开各种教学实践,再到基于阿里云新技术对教材进行修改,秦飞舟坦言,这既是自己作为教师实现自我成长的过程,也是产学合作协同育人的成果。秦飞舟表示,阿里云的产学合作项目为西部高校与企业之间搭起了一座桥梁,为云上教学的普及铺出了一条路径。放眼未来,依托阿里云的平台资源和“飞天加速计划”的扶持,西部地区很快就能补齐过去的短板,实现数字化建设的长足发展。“我相信,在未来的三四年里,西部高校教学一定可以大范围依托云来实现。”关于“飞天加速计划”:“飞天加速计划”是阿里云2020年推出的项目,通过为全国高校师生、开发者提供免费ECS算力资源,以加速云计算的校园普及,助力培养数字新基建人才。“飞天加速计划”自发布以来,已累计输出6.4亿小时免费ECS算力,2200所高校十万余名师生因此认识了云计算,并且借助云的力量便捷地使用计算资源开发自己的应用,搭建“小而美”的云上世界,同时成就自我。2021年,阿里云持续加码,推出“飞天加速计划2.0”,致力于在3年内提供价值15亿元的资源扶持,助力开发者应用创新,助力开发者全生命周期成长,培育数字时代的创新人才。https://developer.aliyun.com/plan/articles2023三星电视技术品鉴会见证电视产业革新,揭开技术创新新篇章6月8日,2023三星电视技术品鉴会在北京举行。该品鉴会展示了三星创新的前沿科技,探讨最新的技术趋势与市场需求,致力于为用户打造更加无与伦比的视觉享受与更加沉浸智能的娱乐体验。在活动现场,以神经元量子点处理器为核心的多项突破性成就引起了强烈关注,再次夯实了06-08火山引擎李阎:消费零售企业数字化成败,要看云计算在业务场景中的“浓度”近日,由中国连锁经营协会(CCFA)主办的2023中国零售创新大会在上海举办,火山引擎大消费业务总经理李阎受邀出席本次会议,并发表了《构筑第二曲线,重塑增长韧性》的主题演讲。发言中,李阎深度剖析了消费零售行业数字化的表象与本质,并解读了火山引擎如何借助体验创新06-08健康大屏专家首选激光电视 国民视觉健康论坛在京召开6月6日,第28个全国爱眼日,人民网 “2023国民视觉健康论坛”在京举行。本次论坛以“共同呵护明亮‘视’界 开启光明未来”为主题,来自国家疾控局、国家市场监督管理总局、中国关心下一代工作委员会等政府主管部门的相关领导,眼科领域专家学者,眼健康企业代表等深入交06-08协和生物 杨帆:坚守初心,缔造国货精品一个原本学古典舞专业的女子,却因机缘巧合,跨界进入了化妆品行业。自踏进这个领域,就是十几年如一日的坚持。又因为对美的追求,让这位本身就足够美丽的女子,爱上了这个要以品质缔造优质民族护肤品的本土公司,也从此找到了可以为之奋斗的“美丽”事业。十几年前,刚刚毕业06-08前所未有的安全感,华为云为网站安全保驾护航如今互联网时代的迅速发展,致使网站增长速度加倍,无论是政府、中小企业乃至个人都会有网站。网站在我们生活中起到的作用很大,不仅起到宣传的作用还能给我们带来收益,也帮助了很多人寻找到想要了解的信息。既然网站那么重要,对于网站安全你又了解哪些呢?由于所在项06-08vivo X50搭载强悍多焦段影像,横竖线向都拍得稳稳当当5G手机现在已经十分常见了,而说起我第一次使用5G手机,还是在2年前买的vivo X50,当时因为看到它主打轻薄高颜值和影像,且口碑不错,就买了。到现在,该机也是我的主力机,颜值不用多说,看图就行,影像方面,横着拍,竖线拍,总之无论怎么拍,成片率都不低。vivo X5006-08轻薄旗舰投影仪新标杆,大眼橙X7D Pro为什么618值得入手?618到了,想购买智能投影仪的心愿是不是该实现了?这里给大家推荐这款轻薄款智能投影仪大眼橙X7D Pro,作为畅销20W+的X7系列全新升级之作,号称轻薄旗舰投影仪新标杆,这款新品有什么奇特之处?对比上一代大眼橙NEW X7D都有哪些升级点?下面就来详细说说,大眼橙X7D Pro是06-08ChatGPT需要付费?快速ChatGPT PLUS付费订阅服务!在这个数字时代,人工智能正日益渗透到我们的生活中。作为其中的一项令人激动的技术,ChatGPT(Chat Generative Pre-trained Transformer)通过自然语言处理和机器学习技术,为用户提供了无与伦比的对话体验。无论您是在寻找个人助手、商业咨询还是仅仅想与人工智能进行有06-08优创数据整合ChatGPT 助力企业降本增效近期,OpenAI训练的人工智能聊天机器人ChatGPT引领了一波生成性人工智能的研发与应用热潮,许多公司积极将此技术整合到其产品和服务中以提升运营效率。对美保险业务流程解决方案市场领导者优创数据(ReSource Pro)最近也在其内部网站引入ChatGPT,用以提升员工整体工作效06-08四相科技亮相北京安博会,助力安防智能化建设6月7日,由中国安全防范产品行业协会主办,为期四天的第十六届(2023)中国国际社会公共安全产品博览会在北京首钢会展中心隆重开幕。本届安博会以“自主创新,数智融合,赋能安防,服务社会”为主题,旨在“展示先进技术、引领行业发展、服务市场需求、支撑平安中国”,全06-08推动产业数据价值化,浙江如何做?“通俗讲,数据作为一种新型生产要素是数字经济时代的‘石油’。”浙江省企业信息化促进会秘书长傅正说,产业数据价值化,是指行业、企业数据的采集汇聚、确权定价、市场交易等过程,将数据转化为实际商业价值。浙江在2022年7月开始实施“产业数据价值化”这一重大改革06-08新兴产业金融领域先锋人物|旅美经济学家向凌云向凌云教授是旅美经济学家、国际注册会计师、美国注册法务会计师、公共会计师协会(IPA)资深公共会计师(FIPA)、财务会计师公会(IFA)资深财务会计师(FFA FIPA)、圣普罗斯佩罗侯爵、世界卓越华人、国际公益慈善大使、全球外交官形象大使、中国企业海外形象大使、金融行业最06-08【实力认证】2023,我们还是第一名!让我们共同见证HPE超级计算的巅峰时刻!近日,国际超算大会(ISC 2023)落下帷幕,第61届“TOP 500”超算榜单公布,由HPE打造的Frontier超算再次位列全球第一。在去年的国际超算大会(ISC 2022)上,Frontier首次登顶,并成为了世界上第一台打破百亿亿级计算瓶颈的超级计算机。一06-08华为云张平安:华为坚定战略投入数据库 与伙伴共建繁荣开放的产业生态6月7日,在华为全球智慧金融峰会2023上,华为常务董事、华为云CEO张平安正式发布了新一代分布式数据库GaussDB,其具备高可用、高安全、高性能、高弹性、高智能以及易部署、易迁移的特性,实现了全面升级。张平安表示,如果将整个软件产业体系比喻成一棵参天大树,那数据06-08点击查看更多 +
1、跟我学java swing之游戏设计文章来源:电脑爱好者作者:张剑谁知道通天的巴比伦塔耗费了多少沙石?又有谁知道罗马的建成经历了多少个日夜? 我们惟一知道的是,没有一块块砖石的垒砌,就没有蜿蜒万里的长城;没有巨石和黏土的堆 集,就没有亘古不变的金字塔。由此可见,基础知识的准备对于我们学习任何事物都至关重 要,那么,就让我们从认识swing的一些基础功能开始,启动我们建造罗马的伟大工程吧!前言java咖啡馆已经开张不少吋日了,如果你已经喜欢上了 java这杯咖啡的味道,那么记 得常来哦。这一次,我们为大家准备了一大杯香浓的咖啡一一将以开发一个“连连看”游戏 为蓝本,和大家共同学习java中swi2、ng的用法,当你细心品味这杯咖啡后,你会发现,不 但java这杯咖啡还别有一番风味,而且还学会了专业游戏的开发方法,真是两全其美!为了让大家先睹为快,下图便是游戏的截图。大家可以下载游戏试玩(下载游戏程序; 下载源文件),然后在命令行方式下使用java -jar kyodai.jar來运行。此外,还可以到我的主 页上下载这个游戏的单机版以及手机版进行试玩(见图1)。java咖啡馆以前介绍过awt的知识,那么swing和awt究竟有什么区别呢?学习java 的人都可能听到或看到过重量级控件和轻量级控件这个字眼,awt就是我们通常所指的重 量级控件,swing则是轻量级控件。我们都知道java的口3、号是“一次编写,到处运行”,这 也就要求在我们的程序屮,尽量使用纯java的代码。很不幸的是,awt依赖与本地平台的 接口,因此,在不同的操作系统上,使用awt制作的界面看起来可能会有些细微区别o swing 则完全不同了,swing是用纯java编写的,因此,使用swing编写的界面能保证在所有平台 上有着同样的外观。这里还有一个窍门:在jdk中,为便于区别,所有swing控件都以大写 字母j开头,比如说jbutton(awt中对应的是button),这样你就很容易区分swing控件和 awt控件了。swing初体验对于想学习swing编程的朋友,我们特地为大家准备了一些小窍门。首先,下载并4、阅读 代码是极有必要的。由于这是一篇关于swing的教程,所以,我们只是尽可能讲解一些与 swing有关的内容,与swing无关的内容一般不会涉及,例如算法部分。其次,受篇幅限制, 也不可能在这里将每部分代码都写得完完整整的,所以,大家也筒要对照完整代码來看。最 后,为了使大家更容易把精力集中在swing学习上,我们也将游戏开发中所需资源放在下载 文件中,大家下载后便能够编译运行,看到执行结果。1. 顶层容器什么是顶层容器?当我们使用java进行图形编程的吋候,图在哪里绘制呢?我们需要 一个能够提供图形绘制的容器,这个容器就被称为顶层容器,你也可以把它想象成一个窗口。 顶层容器是进行图形编程的5、基础,一切图形化的东西,都必然包括在顶层容器中。在swing 中,我们有三种可以使用的顶层容器,它们分别是:jframe:ffl来设计类似于windows系统中的窗口形式的应用程序。 jdialog:和jframe类似,只不过jdialog是用来设计对话框。japplet:用来设计可以在嵌入在网页中的java小程序。如果需要使用swing制作一个窗口类程序,我们的代码看起来应该是这样:import javax.swing.*;public class kyodaiuiextends jframe 2. 控件控件是构成应用程序界面的基本元素,按钮、文本框、进度条等,这些都是控件。控件 (这里我们6、只讨论可视化控件)又可以分为容器控件和非容器控件。从字面意义上来理解,容 器控件就是能包含其他控件的特殊控件,例如,java屮的jpanel控件就属于容器型控件,我 们可以在jpanel中放置按钮、文本框等非容器控件,你甚至可以在jpanel中再放置若干个 jpanel控件(值得注意的是,顶层容器也是容器型控件,每一个窗口应用程序中有且只能有 一个顶层容器控件,换句话说,顶层容器不能包括在其他的控件中)。java中的容器控件有很多,除刚才提到的jpanel外,还有jtabbedpane、jscrollpane等, 非容器控件有j button x jlabek jtextfield等。如果你需7、要向某个容器型的控件中添加控件, 你可以使用add(component comp)方法来实现,如:jpanel panel = new jpanel();j butt on button 二 new jbutton();panel.add(button);3. 布局什么是布局?布局是java中用來控制控件排列位置的一种界面管理系统。使用过其他 可视化编程开发语言的人在初次接触java界面设计时,总会感觉到java界面设计很别扭: 居然没有提供所见即所得的设置控件坐标的方法!然而,事实证明,java木身提供的布局管 理系统也一样能够出色地完成我们的需要,而且在跨平台时表现得更有优势。常用的布局有8、: borderlayout:将界面分割为上下左右以及中间一块区域的管理系统,在borderlayout 布局屮,最多你只能放5个控件,如果超过5个控件,建议还是选用英他的布局系统吧。gridlayout:gridlayout是将用户界面切割为棋盘一样的布局管理系统。如果我们要设 h一个类似于windows中自带的计算器软件,gridlayout无疑是最佳选择。 flowlayout:flowlayout与上述两类布局管理系统不太一样,在flowlayout屮,你不 必指定每个控件放在哪,你只需要把控件加入到flowlayout中,flowlayout就会根据你添 加控件的顺序依次放置控件,如9、果空i'可不够,会自动换行。在对这儿个布局管理系统有了基本认识后,我们就一起來进入界面设计吧。在仔细观察 了 qq游戏屮“连连看”的设定后,我们可以发现,整个界面分为三个区,顶部是系统菜单 区,占地面积最大的是用户游戏区,另外还有一个用户交互区,每个区域中都由若干控件组 成。这么多控件,我们从哪开始入手呢?由于容器控件中可以放置其他控件,因此,我们只 需要先确定放置的容器控件就可以了。既然己经知道需要使用容器控件的个数,接下来让 我们就进入布局管理系统的选择。用gridlayout?似乎有点勉强,用flowlayout?还有更好 的选择吗?对了,我想你一定想到了是borderlayou10、t吧,如下图2所示。动手之前,大家一定要注意的是,界面的设计要先考虑好尺寸,不管是主程序界面的大 小还是每个区域的大小,如果没有设计好合适的尺寸,将来改动起来会十分痛苦。下面便是相应的源程序:import java.awt.*;import javax.swing.*;public class kyodaiui extends jframe public kyodaiui() this.setsize(780, 500); /将窗体的大小设定为 780*500this.setdefaultcloseoperation(j frame. exit_on_close);this.setresiza11、ble(false); /窗体不能改变大小 this.settitlef"连连看”);设置标题jpanel toolbar = new jpanel();toolbar.setbackground(color.white);toolbar.setpreferredsizefnew dimension(780, 48);jpanel actionpanel = new jpanel(); /新建 jpanel 型的控件 actionpanel.setbackground(color.yellow); /设置背景色 actionpanel.setpreferredsizefnew dim12、ension(160, 380); /设置大小jpanel contentpanel = new jpanel();conte ntpa nel.setbackground(color.blue);contentpanel.setpreferredsize(new dimension(620,380);this.getcontentpane().add(toolbar,borderlayout.north);this.getc onten tpa ne().add(actionpa nel, borderlayout.east); this.getcontentpa ne().add(cont13、entpanel, borderlayout.center);public static void main(string args) throws headlessexception kyodaiui kyodaiui = new kyodailll();kyodaiul.show();让我们来看看上面这段程序是如何运行的。首先,extends jframe表明了这是从jframe 中继承过来的,jframe是最基本的顶层容器控件。实际上,在jdk中,以字母j打头的控件 都是 swing 控件。然后设置了容器的属性,其中, setdefaultcloseoperation(jframe.ex14、it_on_close)是用来告诉 java 虚拟机,当用户点击窗体 右上角的“关闭”按钮时,关闭该窗口进程。如果不这么做的话,你会发现虽然你可以点将 窗口关闭,然而程序却没有退出。在接下來的代码中,我们为顶层容器添加了三个panel容 器。要注意的是,在awt中,我们可以直接写为addftoolbar, borderlayout.north),而 在 swing 中却一定要写成 getcontentpane(). add(toolbar, borderlayout.north),否则程 序就会出错。现在大家可以放在编译运行看看,是不是和我的运行结果一样(见图3)?4. 边框虽然我们使用了不同15、前景色来区别不同的区域,然而却没有层次感,加上边框一定会漂 亮许多。在java中,所有以j打头的swing控件都可以使用setborder方法來为自己设置边框。 边框有很多种,线型、凸起、凹下、空的,你甚至可以自由组合形成个人风格。所有的border 都必须使用javax.swing.borderfactory屮提供的静态方法来创建,比如:border border = borderfactory.createbevelborder(bevelborder.lowered,new color(45,92,162),new color(43,66,97),new color(45,92,162)16、,new color(84,123,200);toolbsetborder(border),立体效果是不是i_2经出现了?实战一一写上自己的大名现在我们己经有了一个能够运行的界面了,虽然它什么也做不了,但是请你别慌,罗马 不是一天建成的。现在让我们在菜单区提供一个“关于”菜单,用来显示程序的信息,难道你不想让别人 知道你的大名吗? swing本身就提供了现成的按钮控件jbutton,我们只需要创建一个新的按 钮:jbutton about = new jbuttonf关于”);这个按钮该怎么放到菜单区而不是别的地方呢?我 们可以加入下面的代码:toolbar.add(about);咦,怎么点按17、钮没有反应?这是因为你还没有告 诉程序点击按钮时要做什么事情呢。要为按钮添加事件响应,首先需要使用 about.addactionlistener(this)来告诉程序监听按钮按下吋的事件,由于actionlistener是一个 程序接口,因此,我们在类的申明的地方也得做一点小小的修改:public class kyodaiui extends jframe implements actionlistener .实现 actionlistener 接口是为了告诉程序我要进行事件 处理了。当然,最后我们得添加响应事件的代码:public void acti on performed(acti o18、n event e) if (e.getsourcef) = about) joptionpane.showmessagedialogfthis,"我的大名","关于",joptionpane.lnformation_message);return;其屮,e.getsource()表示当前触发事件的控件,由于我们的程序屮往往会有多个以上的 控件,这些控件都有可能产生事件,所以我们必须使用这个方法来找到产生事情的控件。“连连看”属于一款二维战棋类游戏,要设计棋盘类的游戏, gridl应该是不二之选。现在让我们一起來看看gridlayout的构造 函数: g19、ridlayout():默认的情况下,将布局区域划分为1*1的大小gridlayout(int rows, int cols):指定布局区域横向和纵向的格子数 gridlayout(int rows, int cols, int hgap, int vgap):同上,并且还指定了每个格子之 间的横向间距hgap和纵向间距vgap千万别让这三个构造函数把你给吓住了,其实只要你喜欢,完全可以放心大胆地使用其 中的任何一个,就算不小心用“错”了,以后也有办法进行调整。惟一需要注意的是,gridlayout 在添加控件时,默认顺序是从左上方向右下方依次添加的。现在让我们来确定游戏的格子数目。究竟多少格20、子比较合适呢?太少会降低游戏的难 度,太多又会造成视觉影响。所以,我们应该通过一对常量来表示,将来即使要修改,也是 举手之劳。在java中,常量的定义需要写成public final static的形式,假如我们规定游戏的棋盘在 横向有8个格子,纵向也有8个格子,那么,我们应该这样定义:public final static int row = 8;public final static int column = 8;然后,我们使用gridlayout的第二种构造函数来创建布局:gridlayout gridlayout = new gridlayout(row, column);最后,我们还21、需要将游戏区(contentpanel)的布局改为上述布局:conten tpanel.setlayout(gridlayout);如果你此时编译并运行程序的话,你可能会奇怪:界面怎么没有发生任何改变,是不是 哪出错了?虽然我们指定了布局,可是什么控件也没有添加,当然就看不出变化。现在让我 们一起在布局上添加按钮吧:for (int i = 0; i < row * column; i+) jbutton button = new jbutton("kyodaih);conte ntpa nel.add(button);再运行程序试试,是不是和我的一样(见图1)?巧用j but22、ton做文章jbutton是一个按钮控件,它也是swing中普通得不能再普通的控件了,尽管如此,我 们还是需要花费一点功夫来了解和使用它,因为当你能够熟练使用jbutton后,你会发现其 他的swing控件也是如此的相似。如果你将刚才写好的程序拿来运行,你会发现:游戏区的按钮总是排得满满的,这对实 际游戏的操作非常不便,所以,我们得想办法让一部分格子空出来。gridlayout布局什么都 好,就是在添加控件的吋候不能跳过某一个格子,这下可怎么办呢?其实这也不难,既然gridlayout不让跳过,如果我们让某个格子内添加的控件与 gridlayout布局的背景融为一体,这样在视觉上就达到了一致的23、效果。此外,假如别人在无 意中点击到这个格子上,按钮仍然就会原形毕露,我们还得想办法让按钮不能被点击,这就 需要用到j button的setenabled()方法。最后,对于能够点击的按钮,当它们被点击时,我们 还得要区分出来究竟是哪一个按钮被点击了。在上一次实现“关于”功能的吋候,我们使用了 e.getsourcef)方法来判断鼠标点击事件 产生的源,然而,那只对已经命名好了的控件比较有效。这里,使用数组表示按钮无疑是最 好的方法了,首先让我们将上面的代码修改一下:jbutton dots = new jbuttonrow * column;for (int i = 0; i < ro24、w * column; i+) dotsi = new jbutton("kyodai");dotsi.setactioncommand("" + i);conte ntpa nel.add(dotsi);dotsi.addactio nliste ner(this);千万别忘记了在循环体中写上dotsi = new jbutton("kyodai"),虽然在前面定义、使用了 dots组数,然而,这仅仅只是告诉程序我们需要使用一些jbutton,但是,这些jbutton却依 然没有被初始化。同时,我们不仅使用setactioncomm25、ando按钮制定了事件名称,还使用 了 addactionustener()方法为每个按钮加上了事件响应处理。关于事件响应的代码,我们可以在原來actionperformedo#件代码的后面添加:if (e.getsource() instanceof jbutton) jbutton button = (jbutton) e.getsourcef);int offset = integer.parsel nt(button.getacti on comma nd();int row, col;row = math.round(offset / column);col = offset - r26、ow * column;小结让我们一起來回顾一下今天所学的内容:首先我们了解了顶层容器,也知道了控件分为 容器控件和非容器控件,同时还知道使用边框,最后,我们还小小的处理了一下按钮的事件。学而时习之,不亦说乎,就让我留点小小的作业,帮助大家巩固一下今天所学的内容: 上面我们添加的按钮在菜单栏的中间,并不美观,请大家放到左边或右边试试。还记得偷天换口中精灵般穿梭在好莱坞车流中的minicooper吗?马克沃尔伯格 和莎莉赛隆就是驾驶着它在仇人的鼻子底下运走了价值千万的黄金。可是,如果现在将一 辆无法奔驰的minicooper躯浇放在你的面前,你会如何看待它?它还是那个游走自如的精 灵吗?今天,就27、让我们一点一点地为这辆minicooper组装上零件,让它跑起来。joptionpane.showmessagedialog(this, "row="+row+", col="+ col, ”按钮”,joptionpane.lnformation_message);在上血的代码中,e.getsource() instanceof jbutton用来判断产生的事件是否是由j button 型的控件产生的,然后又将产生事件源的控件进行强制型类转换,再使用integer.parselnt(button.getactioncommando)方法将取得的事件名称转化为整数,后面的代码 就将这个整数还原成行和列的信息。好了,现在运行程序,然后点击每个按钮,看看是否会出现如右图的对话框?注意哦,我们的下标是从0开始的。本期程序源代码(点击下载)。在s

我要回帖

更多关于 哪里java培训学校好些 的文章