正在加载图片...
MyEclipse6Java开发中文教程 的读者,完全可以忽略本章的内容。 1811概述 在本书刚开始计划写的时候,选的书名是《 MyEclipse6 Java ee开发中文手册》,后 来才改成了现在的这个名字:《 MyEclipse6Java开发中文教程》。这是因为Java的覆盖面 要比 Java ee大些,Java的开发也不是除了做做网页(一般加以专业称呼为 Java e开发) 而且考虑到实际情况,在一般公司中经常出现维护老项目的现象,如果是在校学子做毕业设 计,也会用到一些目前来说不是太“主流”的技术,在Java中,经常就是指图形界面开发。 那么图形界面开发到底在实际中有没有用?回答是肯定的:有!大家想想,打开 Windows 后看到的是什么?窗口!那就对了,所有这些都是图形界面应用。旧浏览器本身,也是个 带界面,能够用鼠标键盘操作的图形应用。至于游戏,那就是专门主攻图形学的带界面应用, 绝对上讲,没有界面的应用是不存在的。界面是电脑和人脑沟通的窗口。类似手DOS,Lnux 那样的命令行的,叫文字界面。其它所有带有窗口,一般支持鼠标,键盘,手柄等的,都属 于图形界面。至于Java的开发,所用到的开发工具,例如 JBuilder, Eclipse, MyEclipse, Netbeans,无一不是图形界面的应用。但是长期以来,由于种种原因(我想其中最重要的 原因大概是速度,内存占用和系统集成度),图形界面一直没能成为Java开发的主流,尤 其在国内,做JSP成了Java开发的代名词,但是国外的情况好很多,出现了很多基于Swng 的优秀软件。我想国内的电脑普遍配置过低也是个很重要的因素。但是,这并不影响Java 图形界面的应用广度,很多项目,尤其是比较综合的项目,都还是用到了图形界面的开发 例如 Applet技术,客户端软件,以及最近非常流衔的 Eclipse下的 SWT/JFace/RCP(Rch Client platform,富用户客户端平台)软件开发,它们都是图形界面的软件。而且,在公司 很多老项目,可能是用 Applet搭建,或者是完全用Swng实现的,这时候,您都不得不维 护它,因为客户用习惯了一样东西后,是很难再做改变的,例如笔者此前就职的那家外企 就有大量的Swng应用。至于做算法的,一般也都会和一些界面结合起来,制作一些Demo 应用。如果是图形相关的,那更是100%要做界面了,虽然Java中的图形算法由于虚拟机 本身的原因执行效率低一些。 Java中的图形界面系统和JVM一样,也是分为四个层次(大致的划分,并未参考权威 的资料):操作系统图形设备层>虚拟机本地代码层>Java封装层>用户应用层。由于 画图依赖操作系统的功能,所以,在一些服务器上,例如没有安装ⅪⅥ indows系统的 Linux 服务器,不能执行图形界面应用。又由于Java的图形界面采用了最大公约数的做法,所以 和底层的语言例如C+十相比,其功能总是感觉少,例如托盘功能(桌面最右下角的那部分 区域),也是最近才加入的(JDK16支持)。虚拟机本地代码层体现在大量的DLL文件上,例 如 jre/bin/awt. dI,就是Java的AWT类的C代码的封装,所有的键盘和鼠标操作,都通过 它来进行(换句话说纯Java是做不到的)。使用微软的VC++中提供的一款工具 Dependency Walker,可以看到其中的DLL中封装的函数列表,如图18.1所示。所以一般 对Java访问系统级功能的操作,例如访问注册表,都需要额外使用C++代码来实现,一般 也不跨平台,这也是Java的图形界面开发一直没能流行开来的一个原因,甚至于现在出现 了 Eclipse力挺的SWT,这样的局面还是依然不能结束。 2 刘长炯著MyEclipse 6 Java 开发中文教程 2 刘长炯著 的读者,完全可以忽略本章的内容。 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/awt.dll,就是 Java 的 AWT 类的 C 代码的封装,所有的键盘和鼠标操作,都通过 它来进行(换句话说纯 Java 是做不到的)。使用微软的 VC++中提供的一款工具 Dependency Walker,可以看到其中的 DLL 中封装的函数列表,如图 18.1 所示。所以一般 对 Java 访问系统级功能的操作,例如访问注册表,都需要额外使用 C++代码来实现,一般 也不跨平台,这也是 Java 的图形界面开发一直没能流行开来的一个原因,甚至于现在出现 了 Eclipse 力挺的 SWT,这样的局面还是依然不能结束
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有