article Related Topics:
Swingers :: Swing_Kids :: Swing :: Swinging_Cheerleaders,_The :: Swinger :: Swinging :: Swingle_Singers,_The :: Swing_Out_Sister :: Swing_and_Ballroom_dancing :: Swing_and_Jive
 

Swing 是一个为Java设计的GUI工具包。 Swing 是 JAVA基础类 的一部分。 Swing 包括了图形用户界面 (GUI) 器件 如:文本框,按钮,分隔窗格和表。

SWING 提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。 它们是JFC的一部分。 它们支持可更换的观感和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意观感。 轻量级元件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

程序


Swing程序

HelloWorldSwing 的代码:

import javax.swing.*;        
public class HelloWorldSwing {
    /**
     * 创建并显示GUI。 出于线程安全的考虑,
     * 这个方法在事件调用线程中调用。
     */
    private static void createAndShowGUI() {
        //Make sure we have nice window decorations.
        JFrame.setDefaultLookAndFeelDecorated(true);

//Create and set up the window. JFrame frame = new JFrame("HelloWorldSwing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Add the ubiquitous "Hello World" label. JLabel label = new JLabel("Hello World"); frame.getContentPane().add(label);

//Display the window. frame.pack(); frame.setVisible(true); }

public static void main(String* args) { //Schedule a job for the event-dispatching thread: //creating and showing this application's GUI. javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } }

历史


互联网基础类(IFC) 是网景公司最初为Java开发的图形库,第一次发布于1996年12月16日

1997年4月2日太阳微系统公司网景公司宣称他们要将IFC和其他技术合并形成 Java基础类。作为IFC最初提供组件的附加品, Swing引进了一个机理:在不改变大量的程序代码前提下允许程序中每个组件观感的变化。支持可更换观感技术的引入允许Swing组件在模拟原生组件外观的同时又保持了平台独立的优点。

同AWT的关系


Java的早期版本以来, 抽象窗口工具包 为用户界面组件提供了平台独立的API。在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的图形窗口系统决定的。

与此相对,Swing 组件经常被描述为轻量级的,因为它们不需要操作系统本身所带窗口工具包的原生资源来生成。

Swing API 的大部分是AWT的补充扩展而不是直接的代替。Swing用来绘制轻量级组件的核心渲染功能是由Java2D提供的,这是AWT的一部分。然而,轻量级和重量级组件在同一个应用中使用会导致Z-order不兼容。

同 SWT 的关系


标准器件工具包 是一个最初由IBM开发的工具包,现在由Eclipse基金会维护。 SWT的实现同重量级的组件AWT有更多的共同之处。这样的好处是运行开销同所在平台的原生窗口工具包更为接近。

SWT的到来使得Java桌面的开发者们分离为SWT的支持者和Swing的支持者。 在即将到来的6.0版Java中,Swing的新修补专注于同原生原生窗口平台的逼真度,这可能会直接解决这个问题。

参考


外部链接


部件工具箱 | Java

Swing (Java) | Swing (Java) | Swing (biblioteca gráfica) | Swing (Java) | Swing | Swing | Swing | Swing (Java) | Swing (api) | Swing (Java)

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Swing".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld