# 课程：执行自定义绘画

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

本课程介绍 Swing 中的自定义绘制。很多程序都可以很好地完成，而无需编写自己的绘图代码;他们将只使用 Swing API 中已有的标准 GUI 组件。但是，如果您需要具体控制图形的绘制方式，那么本课程适合您。我们将通过创建一个简单的 GUI 应用程序来探索自定义绘制，该应用程序根据用户的鼠标活动绘制形状。通过有意保持其设计简单，我们可以专注于底层绘画概念，而这些概念又与您将来开发的其他 GUI 应用程序相关。

本课程在构建演示应用程序时逐步解释每个概念。它以尽可能少的背景读数尽快呈现代码。 Swing 中的自定义绘画类似于 AWT 中的自定义绘画，但由于我们不建议完全使用 AWT 编写应用程序，因此此处不会特别讨论其绘制机制。您可能会发现阅读本课以及文章[绘画在 AWT 和 Swing](http://www.oracle.com/technetwork/java/painting-140037.html) 中的深入讨论是有用的。