0 %

Swing入门

2025-09-08 02:57:48

https://docs.oracle.com/javase/tutorial/uiswing/index.html

About the JFC and Swing

JFC=Java Foundation Classes=java基础类

用途:1用于构建图形用户界面;2给Java应用添加图形和交互功能

为什么叫JFC:MFC=Microsoft Foundation Class Library

JFC包含下表特性:

Feature

Description

Swing GUI Components

包括从按钮、分割窗格到表格等所有内容。许多组件都支持排序、打印、拖放等功能,以上仅是其中的一些特点。

Pluggable Look-and-Feel Support

Swing 应用程序的外观和操作方式是可插件化的,允许用户选择不同的界面风格。例如,同一个程序可以使用 Java 风格或 Windows 风格。此外,Java 平台还支持 GTK+ 风格,使得数百种现有的界面风格可以被 Swing 程序使用。还有更多的界面风格包可以从不同的来源获得。

Accessibility API

使辅助技术(如屏幕阅读器和盲文显示器)能够从用户界面获取信息。

Java 2D API

使开发者能够轻松地在应用程序和小程序中加入高质量的 2D 图形、文本和图像。Java 2D 包括了丰富的 API,用于生成并将高质量的输出发送到打印设备。

Internationalization

允许开发者构建能够与全球用户以他们自己的语言和文化习惯进行互动的应用程序。通过输入法框架,开发者可以构建接受使用成千上万不同字符的语言(如日语、中文或韩语)文本的应用程序。

本教程专注于 Swing 组件。我们将帮助你选择适合你图形用户界面(GUI)的组件,告诉你如何使用它们,并提供你需要的背景信息,以便你能够有效地使用它们。我们还将讨论其他与 Swing 组件相关的特性。

Which Swing Packages Should I Use?

Swing API功能强大、灵活且庞大。Swing API有18个公共包:

javax.accessibility

javax.swing.plaf

javax.swing.text

javax.swing

javax.swing.plaf.basic

javax.swing.text.html

javax.swing.border

javax.swing.plaf.metal

javax.swing.text.html.parser

javax.swing.colorchooser

javax.swing.plaf.multi

javax.swing.text.rtf

javax.swing.event

javax.swing.plaf.synth

javax.swing.tree

javax.swing.filechooser

javax.swing.table

javax.swing.undo

幸运的是,大多数程序只使用 API 的一小部分。本教程为你整理了 API,提供了常见代码示例,并指引你使用可能需要的方法和类。本教程中的大部分代码仅使用一个或两个 Swing 包:

javax.swing

javax.swing.event (不总是需要)

Compiling and Running Swing Programs

package start;

import javax.swing.*;

public class HelloWorldSwing {

/**

* Create the GUI and show it. For thread safety,

* this method should be invoked from the

* event-dispatching thread.

*/

private static void createAndShowGUI() {

//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();

}

});

}

}

注释:

frame指一种基本的形状或结构(structure),尤其是勾勒或围绕门窗的形状或结构。如果你用力关上卧室的门,整个门框(the whole frame)可能会摇晃。

pane:窗格;一块玻璃,尤其是适合窗框(a window frame)的玻璃。

Posted in 比利时世界杯
Copyright © 2088 2034年世界杯_足球中国世界杯预选赛 - qdhuaxue.com All Rights Reserved.
友情链接