# 路径：使用 JFC / Swing 创建 GUI

> 原文： [https://docs.oracle.com/javase/tutorial/uiswing/index.html](https://docs.oracle.com/javase/tutorial/uiswing/index.html)

也被称为 _The Swing Tutorial_

此跟踪告诉您如何使用 Swing 组件为应用程序和 applet 创建图形用户界面（GUI）。如果您想将 JavaFX 合并到 Swing 应用程序中，请参阅[将 JavaFX 集成到 Swing 应用程序](https://docs.oracle.com/javase/8/javafx/interoperability-tutorial/swing-fx-interoperability.htm)中。

[![trail icon](img/3ad2324f4cd442b2e4d15b73cdbe16a5.jpg) ** Swing 入门**](./start/index.html) 是一个快速入门课程。首先，它为您提供了一些关于 Swing 的背景知识。然后它告诉您如何编译和运行使用 Swing 组件的程序。

[![trail icon](img/3ad2324f4cd442b2e4d15b73cdbe16a5.jpg) **使用 NetBeans IDE 学习 Swing **](./learn/index.html) 是开始使用 Swing 的最快速，最简单的方法。本课程将探讨 NetBeans IDE 的 GUI 构建器，这是一个功能强大的功能，可让您直观地构建图形用户界面。

[![trail icon](img/3ad2324f4cd442b2e4d15b73cdbe16a5.jpg) **使用 Swing 组件**](./components/index.html) 告诉您如何使用每个 Swing 组件 - 按钮，表格，文本组件以及所有其他组件。它还告诉您如何使用边框和图标。

[![trail icon](img/3ad2324f4cd442b2e4d15b73cdbe16a5.jpg) ** Swing 中的并发**](./concurrency/index.html) 讨论了并发性，因为它适用于 Swing 编程。包含有关事件派发线程和 SwingWorker 类的信息。

[![trail icon](img/3ad2324f4cd442b2e4d15b73cdbe16a5.jpg) **使用其他摆动功能**](./misc/index.html) 告诉您如何使用动作，定时器和系统托盘;如何与桌面类集成，如何支持辅助技术，如何打印表和文本，如何创建启动画面，以及如何在对话框中使用模态。

[![trail icon](img/3ad2324f4cd442b2e4d15b73cdbe16a5.jpg) **在容器中布置组件**](./layout/index.html) 告诉您如何选择布局管理器，如何使用 Java 平台提供的每个布局管理器类，如何使用绝对定位布局管理器，以及如何创建自己的布局管理器。

[![trail icon](img/3ad2324f4cd442b2e4d15b73cdbe16a5.jpg) **修改外观**](./lookandfeel/index.html) 告诉您如何指定 Swing 组件的外观。

[![trail icon](img/3ad2324f4cd442b2e4d15b73cdbe16a5.jpg) **拖放和数据传输**](./dnd/index.html) 告诉您在应用程序中实现数据传输需要了解的内容。

[![trail icon](img/3ad2324f4cd442b2e4d15b73cdbe16a5.jpg) **写作事件监听器**](./events/index.html) 告诉您如何处理程序中的事件。

[![trail icon](img/3ad2324f4cd442b2e4d15b73cdbe16a5.jpg) **执行自定义绘画**](./painting/index.html) 为您提供有关绘制自己的 Swing 组件的信息。它讨论了特定于 Swing 组件的绘画问题，提供了绘画概念的概述，并提供了自己绘制的自定义组件的示例。

## 其他与 UI 相关的路径

虽然这是学习 GUI 的主要途径，但它并不是唯一与 UI 相关的信息。

*   [2D 图形](../2d/index.html)，描述了 JDK 中可用的 2D 图形功能。
*   [Sound](../sound/index.html) ，讨论 JDK 中可用的声音功能。
*   [Java Applets](../deployment/applet/index.html) ，它描述了仅适用于 applet 的 API。
*   [基本类](../essential/index.html)，涵盖许多主题，包括属性和标准 I / O 流。
*   [JavaFX 文档](https://docs.oracle.com/javase/8/javase-clienttechnologies.htm)，描述了如何使用 JavaFX 构建 UI。
*   Bonus 路径包含[全屏独占模式 API](../extra/fullscreen/index.html) ，该课程描述了如何使用 v1.4 中引入的 API 直接将图形渲染到屏幕上。