Это зависит от реализации, но эти методы обычно реализуются изначально, чтобы они могли напрямую взаимодействовать с собственной оконной системой. Вы не можете создать экземпляр объекта Graphics
, потому что конкретная реализация Graphics
, которую вы хотели бы использовать, вероятно, является специфическим для реализации подтипом Graphics
, который взаимодействует с собственной системой. Принуждение библиотек Java и разработчиков JVM к созданию этого объекта для вас избавляет вас от необходимости разбираться со злостью деталей на уровне ОС и обеспечивает общий, типобезопасный интерфейс для графического пакета.
Если вы хотите реализовать свой собственный пакет, вам, вероятно, придется использовать JNI для реализации графического пакета. Затем вы можете реализовать графику поверх OpenGL, DirectX или любой другой системы, которая вам нужна.
Надеюсь, это поможет!