admin管理员组文章数量:1534594
2024年5月9日发(作者:)
第十八章 图形界面开发--AWT,Swing,
SWT
第十八章 图形界面开发--AWT,Swing,1
18.1 图形界面简介.....................................................................................................1
18.1.1 概述.........................................................................................................2
18.1.2 Java的GUI类库发展简介..........................................................................3
18.1.3 标准图形界面的组成................................................................................4
18.1.4 常见的可视化界面开发软件.....................................................................5
18.2 Applet开发..........................................................................................................6
18.2.1 Applet的HelloWorld开发...........................................................................6
18.2.2 Applet的运行方式.....................................................................................7
18.2.3 Applet的生命周期...................................................................................13
18.2.4 Applet安全限制和签名15
18.2.5 Applet参数传递和JavaScript互操作........................................................19
18.2.6 从JDK的自带例子中学习Applet和图形界面编程....................................29
18.3 使用Matisse4MyEclipse开发AWT/Swing应用..................................................30
18.3.1 安装开发插件........................................................................................30
18.3.2 可视化开发30
18.3.3 调整生成代码和换肤..............................................................................39
18.3.4 开发UDP局域网聊天桌面应用...............................................................41
18.3.5发布应用、启动文件制作........................................................................52
18.4 使用Jigloo插件开发SWT/Swing应用...............................................................59
18.4.1 Jigloo插件的下载安装............................................................................59
18.4.2 搭建SWT开发环境.................................................................................60
18.4.3 使用Jigloo开发SWT应用.......................................................................65
18.4.4 Jigloo开发SWT的常见问题....................................................................69
18.4.5 Jigloo 开发 Swing应用..........................................................................71
18.5 参考资料..........................................................................................................73
18.5.1 网址.......................................................................................................73
18.5.2 Java应用播放声音的代码示例................................................................74
18.5.3 JavaScript 包的英文参考文档................................................................78
16.5.4 Eclipse中插件的安装..............................................................................83
18.6 小结.................................................................................................................84
18.1 图形界面简介
本节简要讨论图形界面,由于定位是开发为主,所以理论之处的讲解并不多,希望读者
理解,并自行寻找更多资料补充自学。另外提示,对图形界面无兴趣,或者工作根本用不到
1
刘长炯著
的读者,完全可以忽略本章的内容。
18.1.1 概述
在本书刚开始计划写的时候,选的书名是《MyEclipse 6 Java EE 开发中文手册》,后
来才改成了现在的这个名字:《MyEclipse 6 Java 开发中文教程》。这是因为Java的覆盖面
要比Java EE大些,Java的开发也不是除了做做网页(一般加以专业称呼为Java EE开发),
而且考虑到实际情况,在一般公司中经常出现维护老项目的现象,如果是在校学子做毕业设
计,也会用到一些目前来说不是太“主流”的技术,在Java中,经常就是指图形界面开发。
那么图形界面开发到底在实际中有没有用?回答是肯定的:有!大家想想,打开Windows
后看到的是什么?窗口!那就对了,所有这些都是图形界面应用。IE浏览器本身,也是个
带界面,能够用鼠标键盘操作的图形应用。至于游戏,那就是专门主攻图形学的带界面应用。
绝对上讲,没有界面的应用是不存在的。界面是电脑和人脑沟通的窗口。类似于DOS,Linux
那样的命令行的,叫文字界面。其它所有带有窗口,一般支持鼠标,键盘,手柄等的,都属
于图形界面。至于Java的开发,所用到的开发工具,例如JBuilder,Eclipse,MyEclipse,
Netbeans,无一不是图形界面的应用。但是长期以来,由于种种原因(我想其中最重要的
原因大概是速度,内存占用和系统集成度),图形界面一直没能成为Java开发的主流,尤
其在国内,做JSP成了Java开发的代名词,但是国外的情况好很多,出现了很多基于Swing
的优秀软件。我想国内的电脑普遍配置过低也是个很重要的因素。但是,这并不影响Java
图形界面的应用广度,很多项目,尤其是比较综合的项目,都还是用到了图形界面的开发,
例如Applet技术,客户端软件,以及最近非常流行的Eclipse 下的SWT/JFace/RCP(Rich
Client Platform,富用户客户端平台)软件开发,它们都是图形界面的软件。而且,在公司,
很多老项目,可能是用Applet搭建,或者是完全用Swing实现的,这时候,您都不得不维
护它,因为客户用习惯了一样东西后,是很难再做改变的,例如笔者此前就职的那家外企,
就有大量的Swing应用。至于做算法的,一般也都会和一些界面结合起来,制作一些Demo
应用。如果是图形相关的,那更是100%要做界面了,虽然Java中的图形算法由于虚拟机
本身的原因执行效率低一些。
Java中的图形界面系统和JVM一样,也是分为四个层次(大致的划分,并未参考权威
的资料):操作系统图形设备层 > 虚拟机本地代码层 > Java
封装层 > 用户应用层。由于
画图依赖操作系统的功能,所以,在一些服务器上,例如没有安装XWindows系统的Linux
服务器,不能执行图形界面应用。又由于Java的图形界面采用了最大公约数的做法,所以
和底层的语言例如C++相比,其功能总是感觉少,例如托盘功能(桌面最右下角的那部分
区域),也是最近才加入的(JDK1.6支持)。虚拟机本地代码层体现在大量的DLL文件上,例
如jre/bin/,就是Java的AWT类的C代码的封装,所有的键盘和鼠标操作,都通过
它来进行(换句话说纯Java是做不到的)。使用微软的VC++中提供的一款工具
Dependency Walker,可以看到其中的DLL中封装的函数列表,如图18.1所示。所以一般
对Java访问系统级功能的操作,例如访问注册表,都需要额外使用C++代码来实现,一般
也不跨平台,这也是Java的图形界面开发一直没能流行开来的一个原因,甚至于现在出现
了Eclipse力挺的SWT,这样的局面还是依然不能结束。
2
刘长炯著
版权声明:本文标题:MyEclipse 6 第十八章 图形界面开发--AWT,Swing,SWT 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1715241943a442529.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论