⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s01.htm

📁 Java2Swingt界面设计
💻 HTM
📖 第 1 页 / 共 3 页
字号:
                ┌───┼─────────┼─────────┬┤<br>                │AWT│窗体、窗口、对话框│         ││<br>                │   ├─────────┘         ││<br>                │   │组件、容器、图形、颜色、字体、工具包、││<br>                │   │布局管理器等             ││<br>                │   └───────────────────┘│<br>                └────────────────────────┘ <br>                Swing利用AWT的下层构件,包括图形、颜色、字体、工具包和布局管理器;然而,Swing没有使用AWT的组件。唯一与Swing有关的AWT组件是Frame、Window和Dialog类,它们分别被Swing的重量组件:JFrame、JWindow和JDialog所扩展。Swing使用AWT最好的部分来建立一个新的轻量组件集,并且丢弃了AWT中有问题的部分——重量组件。<br>                Swing是用来替代AWT的重量组件,而不是用来替代AWT本身。要了解Swing,就必须具有AWT的基本知识。<br>                Swing除利用图形、字体、布局管理器等AWT功能外,所有的Swing轻量组件基本上都是从AWT的Container类继承来的,而AWT的Container类又扩展了AWT的Component类。换句话说,Swing不仅利用了AWT提供的下层构件,而且所有的Swing组件实际上都是AWT容器。注意:AWT               Container类本身是轻量的(即它没有对等组件(注:实际上,java.awt.Container有一个什么都不做的,待替换的对等组件))且在其容器的窗口中绘制。             </p>            <p><b>对等组件与插入式界面样式的比较</b></p>            <p>  Swing组件和AWT组件都把与显示组件有关的许多工作和处理组件事件的工作交给其他对象来执行。对AWT组件而言,代表是一个本地对等组件,而对Swing组件而言,代表是ComponentUI类的一个扩展。虽然Swing组件和AWT组件都使用代表机制,但把工作交给其他对象处理所产生的结果在两个工具包中有明显的不同。<br>                由于AWT组件把工作交给对等组件来完成,所以它们的行动很难扩展。例如,不可能把一幅图像添加到AWT的按钮上,这是因为按钮的绘制是由本地对等组件来完成的,而该对等组件可能是用C++编写的,它的行为不能扩展。同样,因为文本域的对等组件负责增亮文本,所以,文本域增亮文本的方式也不能修改。要点是,任何由本地对等组件实现的行为是不能修改或扩展的。               <br>                另一方面,Swing组件的代表(它的ComponentUI)是Swing工具包中的一个Java类,它以扩展以修改组件的行为。Swing的插入式界面样式设计使用了改进的“模型-视图-控制器”体系结构,在这个体系结构中,组件的UI代表负责显示组件和处理输入事件的视图-控制器。当Swing组件配备了一个修改过的组件UI时,组件的可视外观或事件处理都是可以修改的。             </p>            <p><b> <a name="1.7"></a>1.7 开始学习</b></p>            <p>  Swing可与JDK1.1或1.2版一起使用。JDK1.2版包含了Swing,而1.1版本却没有。要在1.1版中使用Swing,必须从JFC               web站点下载Swing,其地址是:<a href="http://java.sun.com/products/jfc/index.hmtl" target="_blank">http://java.sun.com/products/jfc/index.hmtl</a>               。</p>            <p><b>在Internet浏览器中使用Swing</b></p>            <p>  在Netscape Navigator和Internet Explorer中都能用Swing小应用程序,但是,必须使用合适的浏览器版本,并确保包含了对JDK               1.1的支持。<br>                1.Netscape Navigator<br>                必须有Netscape Navigator 4.04或更新的版本,并且已安装了JDK1.1的补丁程序,要下载Netscape               Navigator和JDK 1.1补丁程序请访问地址:<a href="http://developer.netscape.com/software/jdk/download.html" target="_blank">http://developer.netscape.com/software/jdk/download.html</a><br>                图1-5示出了一个在Netscape Navigator中运行的Swing小应用程序。<br>                在下载了一个合适的Netscape Navigator版本和JDK1.1补丁程序之后,还必须确保Netscape可找到Swing的jar文件。使Netscape能找到Swing有两种方法:第一种方法是把Swing的jar文件拷贝到一个确定的Netscape目录中;第二种方法是修改系统的CLASSPATH变量。本节介绍第一种方法,由于               第二种方法对Internet Explorer和Netscape Navigator是相同的,所以我们将在“Internet Explorer”一节中介绍第二种方法。<br>                可把Swing的jar文件拷贝到Netscape的java\Classes目录中。例如,如果氢Netscape安装在C盘中,Swing安装在c:\swing目录下,则就把所有的Swing               jar文件从c:\swing拷贝到c:\program files\Netscape\Communicator\Program\Java\Class下。只要有Netscape               Navigator的最新版本,安装了JDK 1.1补丁程序,并且Netscape可找到Swing的jar文件,就具备了在Netscape               Navigator中运行Swing小应用程序的条件。<br>                2、Internet Explorer<br>                Internet Explorer的4.0版或得高版本支持JDK1.1。只要有合适的Internet Explorer版本并设置了系统的CLASSPATH变量,以便Internet               Explorer能找到Swing的jar文件,就能在Internet Explorer中运行Swing小应用程序。下面介绍如何设置系统的CLASSPAHT变量。<br>                对Windows NT系统,进入Windows的“控制面板”,双击“系统”图标,在“系统属性”窗口中单“Environment(环境)”选项卡,把CLASSPATH变量添加到“User               Variables for Administrator”列表框中,如图1-6所示。<br>                CLASSPATH变量应该包括JDK的class.zip文件和swingall.jar文件。例如,图1-6显示了JDK和Swing均安装在D:\下时设置CLASSPATH变量的情况。添加(或修改)完CLASSPATH变量后,单击OK按钮关闭“System               Properties”窗口,此时,需要重新启动系统,重启后,就可以在Internet Explorer中运行Swing小应用程序了。<br>                对Windows 95系统,必须手工编辑c:\下的autoexec.bat文件,只需在autoexec.bat文件中添加一项,如下所示:<br>                SET CLASSPATH=C:\jdk\lib\classes.zip;c:\swing\swingall.jar<br>                同样,在autoexec.bat文件中添加(或修改)了CLASSPATH变量后,必须重新启动系统。<br>                图1-7示出了在Internet Explorer中运行的Swing小应用程序。<br>                 3、Java插件<br>                当在Netscape Navigator或Internet Explorer中运行Swing小应用程序时,毫无疑问地还会发现许多错误。这些问题可能与Swing本身无关,可能是开发Internet上使用的Java小应用程序的主要缺点。<br>                小应用程序开发人员面临的最困难的任务之一是使小应用程序在不同的浏览器中的表现是一致的。此外,由于历史的原因,浏览器制造商已减慢了更新浏览器(与最新版本JDK同步的)的速度。幸运的是,针对这个Sun公司已推出了一个漂亮的解决方案,即它的Java插件(以前称作Activator)。<br>                通过把一个插件插入Netscape的Netscape Navigator中或在Internet Explorer中运行一个ActiveX控件来使用Java插件。插件或ActiveX控件有效地把Sun的JDK最新版本安装到浏览器中。使用Java插件保证了小应用程序在不同的浏览器中的一致性。<br>                Java插件唯一的缺点是要求对HTML文件做一些修改。当然Sun也提供了一个实用工具来进行这种修改。要更多地了解免费获得Java插件的情况,请访问下面的Web站点:<br>                <a href="http://java.sun.com/features/1998/04/plugin.html" target="_blank">http://java.sun.com/features/1998/04/plugin.html</a>             </p>            <p><b> <a name="1.8"></a>1.8 Swing资源</b></p>            <p>  除本书外,还能找到许多学习Swing的资源。当需要解答对本书中没有介绍到的问题时,就需要去寻找其他资源。<br>                开始学习Swing的最好方法是学习Swing本身随带的例子代码。这些例子提供了许多小而完善的小应用程序和应用程序,它们对Swing很多方面的特性做了练习。Swing的这些例子可在Swing主目录的examples目录下找到。例如,如果Swing安装在c:\swing目录下,则可以在c:\swing\examples目录下找Swing的例子。<br>                Internet上也有许多Swing资源,其中包括邮件列表和新闻组。下面列出的新闻组是解决Swing问题的好地方:<br>                comp.lang.java.programmer<br>                comp.lang.java.gui<br>                此外,还有许多由件列表供喜爱Swing的初高级用户使用,要了解邮件列表的有关信息,请访问下面的Web站点:<br>                <a href="http://www.eos.dk/" target="_blank">http://www.eos.dk/</a><br>                Swing Connection是由Sun维护的Swing的正式站点。可在下面的Web站点中找到:<br>                <a href="http://java.sun.com/products/jfc/tsc/" target="_blank">http://java.sun.com/products/jfc/tsc/</a>             </p>            <p><b> <a name="1.9"></a>1.9 本章回顾</b></p>            <p>  Java于1995年出现,并迅速发展成为程序开发人员所喜爱的语言。Java的重新定位于Internet和重命名为Java以前五年多时间里,它是以Oak语言的身份出现的(Oak是一种研究语言,Sun公司打算使它成为C++的一种更易于使用的和功能更强大的变体)。<br>                虽然Java语言开发许多年并且在Sun公司内部使用,但是该语言没有用户界面工具包。当Java的优势开始显现时,很明显,它必须有用户界面工具包并应在最短的时间内开发出来。开发用户界面最快的方法是在本地组件(又叫做对等组件)上做大部分工作,并在本地组件的顶层放一层Java类。这样,在六个星期不到的时间内开发小组实现了AWT。<br>                对等组件体系结构没有扩展性,并导致了不同平台上不一致的问题产生。此外,AWT没有可靠的面向对象基础;例如,最初的事件模型需要一个switch语句,以便根据事件类型来决定激活哪段代码。这种switch语句是对面向对象的破坏;这种根据对象类型进行切换的swich语句应该通过多态性机制来处理(注:swigch语句有时在面向对象设计中是有效的,但AWT的事件模型不是这种情况。)               <br>                Java开发人员、Sun公司或Sun公司的竞争者逐渐注意到原来的AWT的缺点。不久,出现了许多用来替代AWT的工具包。同时,Sun发布了AWT的1.1版,它做了许多改进,包括一个新事件模型和对轻量组件(非对等组件)的支持。然而,AWT1.1版还不够好用。<br>                JavaSoft认识到Java领域在用户界面工具包的使用上将会出现分裂,于是他们与Netscape合作开发Swing组件集。Netscape和Sun公司的工程师用了将近一年半的时间来开发Swing,Swing在AWT上进行了巨大的改进。<br>                虽然有些Swing组件替代了AWT的重量组件,但Swing不是AWT的替代品,而是AWT的扩展,Swing使用了大量的AWT下层构件,包括对图形、字体和布局管理器的支持。要更深入了解Swing,就必须对AWT的下层构件有基本的了解。<br>                与所有其他软件一样,Swing还不完美。到现在为止,Swing中仍有一些程序错误。在某些地方还表现出了一些设计缺陷,但它是一个可靠的用户界面工具包,比原来的AWT有了很大改进。               <b> </b> </p>            <p> <b></b>   [<a href="index.html" target="_self">目录</a>][上一页][<a href="s02.htm" target="_self">下一页</a>](飒龙收藏/2002.5.18)</p>            </td>          </tr>        </tbody>      </table>    </td>  </tr></tbody></table><script language="javascript">bottomprint()</script></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -