Исходные классы пользовательского интерфейса Java называются AWT. Это были «тяжелые» компоненты, которые иногда действовали по-разному на разных системах (Windows, Mac, Unix). Эти компоненты было сложно использовать для создания графического интерфейса.
Sun разработала Swing, представляющую собой набор «легких» компонентов, которые в максимально возможной степени работают одинаково в разных системах. Эти компоненты несколько упростили разработку GUI.
Чтобы создать холст для графики, вы начинаете с javax.swing.JFrame. Вы добавляете дочернюю javax.swing.JPanel в JFrame. Вы рисуете на JPanel, переопределяя метод рисования.
Метод рисования JPanel принимает в качестве входных данных java.awt.Graphics. Вы можете привести графику к java.awt.Graphics2D. Методы Graphics2D позволяют рисовать прямоугольники, изображения, текст, линии и произвольные многоугольники.
Вы можете узнать больше о Swing, прочитав учебник Sun Создание GUI с JFC / Swing . Вы можете узнать больше о 2D-графике, прочитав учебник Sun 2D Graphics . Более подробную информацию о классах Java, которые я упомянул, можно найти в Javadoc .