词条 | Swing |
释义 | 互联网基础类(IFC) 是网景公司最初为Java开发的图形库,第一次发布于1996年12月16日。 在1997年4月2日,太阳微系统公司 和 网景公司宣称他们要将IFC和其他技术合并形成 Java基础类。作为IFC最初提供组件的附加品, Swing引进了一个机理:在不改变大量的程序代码前提下允许程序中每个组件观感的变化。支持可更换观感技术的引入允许Swing组件在模拟原生组件外观的同时又保持了平台独立的优点。 Swing是一个为Java设计的GUI工具包。 Swing 是 Java API 的一部分。 Swing 包括了图形用户界面 (GUI) 器件 如:文本框,按钮,分隔窗格和表。 Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。 它们是JFC的一部分。 它们支持可更换的观感和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用Java支持的任意观感。 轻量级元件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。 一、Swing和AWT的关系 Java的早期版本以来,抽象窗口工具包为用户界面组件提供了平台独立的API。在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的图形窗口系统决定的。 与此相对,Swing 组件经常被描述为轻量级的,因为它们不需要操作系统本身所带窗口工具包的原生资源来生成。 Swing API 的大部分是AWT的补充扩展而不是直接的代替。Swing用来绘制轻量级组件的核心渲染功能是由Java2D提供的,这是AWT的一部分。然而,轻量级和重量级组件在同一个应用中使用会导致Z-order不兼容。 二、Swing和SWT的关系 标准器件工具包 是一个最初由IBM开发的工具包,现在由Eclipse基金会维护。 SWT的实现同重量级的组件AWT有更多的共同之处。这样的好处是运行开销同所在平台的原生窗口工具包更为接近。 SWT的到来使得Java桌面的开发者们分离为SWT的支持者和Swing的支持者。 在即将到来的6.0版Java中,Swing的新修补专注于同原生原生窗口平台的逼真度,这可能会直接解决这个问题。 三、Swing与AWT的区别 Swing为基于窗体的GUI应用开发设计,为Java跨平台特性提供了卓越的支持.它完全没有本地代码,不受操作系统的影响,做到了真正的跨平台应用,甚至能够提供本地窗口系统不支持的其它特性。因此比AWT具有更强的实用性,同时比AWT程序拥有更加精致的外观感受。 AWT只提供基本的组件,使很多设计变得复杂,且无法在不同的平台下保持显示风格的一致性。例如:如果建立一个按钮(Button)对象,就会有一个按钮(ButtonPeer)同其对象一起被建立,然后此按钮对象会请求底层操作系统创建一个真正的按钮。即在Windows NT 上执行,那么创建的就是Windows NT按钮;在Linux 上执行,那么创建的就是Linux按钮。因此AWT组件外观会受到底层操作系统的影响. Swing全屏幕模式使用方法 关键是java.awt.*里面的两个与显示设备有关的类:GraphicsEnvironment和GraphicsDevice。 GraphicsEnvironment为Java应用程序提供了特定平台的 GraphicsDevice对象和 Font 对象集合。这些GraphicsDevice可以是各种本机和远端机器的资源,如屏幕、打印机或者是Image Buffer,甚至是Graphics2D绘图方法的目标对象。 而GraphicsDevice就是指特定的图形环境了,如屏幕和打印设备等。这样,我们就可以用GraphicsDevice来操纵屏幕了。GraphicsDevice提供的setFullScreenWindow()方法就是设置全屏幕用的。 由于GraphicsEnvironment的构造器是受保护的(protected),我们不能直接构造一个 GraphicsEnvironment 对象来获得GraphicsDevice对象。 |
随便看 |
百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。